35 #if defined (G4VIS_BUILD_DAWN_DRIVER) || defined (G4VIS_USE_DAWN)
39 #if !defined G4FR_CLIENT_SERVER_H
40 #define G4FR_CLIENT_SERVER_H
43 #include<sys/socket.h>
44 #include<netinet/in.h>
56 const char FR_ENV_SERVER_HOST_NAME[] =
"G4DAWN_HOST_NAME" ;
57 const char FR_ENV_NAMED_PIPE_CONNECTION[] =
"G4DAWN_NAMED_PIPE" ;
63 class G4FRClientServer {
65 enum { SEND_BUFMAX = 1024 , RECV_BUFMAX = 1024 };
66 enum { SUN_PATH_MAX = 16 };
69 const char TERMINATOR ;
70 const char END_OF_LINE;
71 char SUN_PATH[ SUN_PATH_MAX ];
75 char fReceivedMessage [ RECV_BUFMAX ];
76 char fSendingMessage [ SEND_BUFMAX ];
80 void Err(
const char* message ) { perror(message) ;}
81 void SetSendingMessage(
const char* message )
82 { strcpy( fSendingMessage, message );}
87 int AcceptUnix(){
return 0;}
88 int AcceptINET(){
return 0 ;}
97 G4FRClientServer (
char terminator =
'.' ,
98 char end_line =
'\n' ) ;
99 virtual ~G4FRClientServer () {;}
100 void SetSunPath(
const char* sun_path )
101 { strcpy ( SUN_PATH, sun_path ); }
102 void SetPortNumber(
int port_num )
103 { PORT_NUMBER = port_num ; }
104 void IncrementPortNumber(
int incr = 1 )
105 { PORT_NUMBER += incr ; }
106 const char* GetSendingMessage()
const
107 {
return fSendingMessage ;}
108 int GetSendingMessageLength()
const
109 {
return strlen(fSendingMessage) ;}
110 void SetReceivedMessage(
const char* message )
111 { strcpy( fReceivedMessage, message );}
112 const char* GetReceivedMessage()
const
113 {
return fReceivedMessage ;}
114 int GetReceivedMessageLength()
const
115 {
return strlen(fReceivedMessage) ;}
116 int GetSofd()
const {
return fSocketFd ; }
117 int GetPortNumber ()
const {
return PORT_NUMBER ; }
118 void ClearReceivedMessage ()
119 { memset(fReceivedMessage,
'\0', RECV_BUFMAX) ; }
121 int IsTerminator(
char ch ) {
return ( ch == TERMINATOR ); }
122 char GetTerminator()
const {
return TERMINATOR ; }
123 int IsEndOfLine (
char ch ) {
return ( ch == END_OF_LINE ); }
124 char GetEndOfLine()
const {
return END_OF_LINE ; }
127 void WaitSendBack(
const char* command_string ) ;
130 virtual void Send (
const char* message ) ;
131 virtual void SendLine (
const char* message ) ;
134 virtual void Receive() ;
135 virtual void ReceiveLine() ;
141 #endif //G4VIS_BUILD_DAWN_DRIVER