#ifndef _SOCKET_SERVENT_HPP_ #define _SOCKET_SERVENT_HPP_ #ifndef _COMMON_WINSOCK_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif #ifndef _COMMON_BLOCK_HPP_ #include #endif class ServEnt { public: ServEnt(void); ServEnt(const ServEnt &someServEnt); virtual ~ServEnt(); ServEnt &operator=(const ServEnt &someServEnt); WORD operator==(const ServEnt &someServEnt)const; WORD serviceByName(const String &serverName,const String &protocol); String serviceName(void)const; void serviceName(const String &serviceName); Block aliases(void)const; void aliases(Block &aliases); short port(void)const; void port(short port); String protocol(void)const; void protocol(const String &protocol); private: void pureServiceName(char *lpServiceName); void pureAliases(char **lpAliases); void purePort(short port); void pureProtocol(char *lpProtocol); String mNameService; Block mAliasNames; short mPort; String mProtocol; }; inline ServEnt::ServEnt(void) : mPort(0) { } inline ServEnt::ServEnt(const ServEnt &someServEnt) { *this=someServEnt; } inline ServEnt::~ServEnt() { } inline ServEnt &ServEnt::operator=(const ServEnt &someServEnt) { serviceName(someServEnt.serviceName()); aliases(someServEnt.aliases()); port(someServEnt.port()); protocol(someServEnt.protocol()); return *this; } inline WORD ServEnt::operator==(const ServEnt &someServEnt)const { return (serviceName()==someServEnt.serviceName()&& aliases()==someServEnt.aliases()&& port()==someServEnt.port()&& protocol()==someServEnt.protocol()); } inline String ServEnt::serviceName(void)const { return mNameService; } inline void ServEnt::serviceName(const String &serviceName) { mNameService=serviceName; } inline Block ServEnt::aliases(void)const { return mAliasNames; } inline void ServEnt::aliases(Block &aliases) { mAliasNames=aliases; } inline short ServEnt::port(void)const { return ntohs(mPort); } inline void ServEnt::port(short port) { mPort=htons(port); } inline String ServEnt::protocol(void)const { return mProtocol; } inline void ServEnt::protocol(const String &protocol) { mProtocol=protocol; } inline void ServEnt::pureServiceName(char *lpServiceName) { serviceName(lpServiceName); } inline void ServEnt::purePort(short portNumber) { mPort=portNumber; } inline void ServEnt::pureProtocol(char *lpProtocol) { protocol(lpProtocol); } #endif