Rudiments
Public Member Functions | Static Public Member Functions | List of all members
serviceentry Class Reference

Public Member Functions

 serviceentry ()
 
 serviceentry (const serviceentry &s)
 
serviceentryoperator= (const serviceentry &s)
 
 ~serviceentry ()
 
bool initialize (const char *servicename, const char *protocol)
 
bool initialize (int32_t port, const char *protocol)
 
const char * getName () const
 
int32_t getPort () const
 
const char * getProtocol () const
 
const char *const * getAliasList () const
 

Static Public Member Functions

static int32_t getPort (const char *servicename, const char *protocol)
 
static char * getName (int32_t port, const char *protocol)
 
static bool needsMutex ()
 
static void setMutex (threadmutex *mtx)
 

Detailed Description

The serviceentry class provides methods for retrieving entries from the service file (/etc/services on unix).

Constructor & Destructor Documentation

◆ serviceentry() [1/2]

serviceentry::serviceentry ( )

Creates an instance of the serviceentry class.

◆ serviceentry() [2/2]

serviceentry::serviceentry ( const serviceentry s)

Creates an instance of the serviceentry class that is a copy of "s".

◆ ~serviceentry()

serviceentry::~serviceentry ( )

Deletes this instance of the serviceentry class.

Member Function Documentation

◆ getAliasList()

const char* const* serviceentry::getAliasList ( ) const

Returns a NULL-terminated list of aliases for the service entry.

◆ getName() [1/2]

const char* serviceentry::getName ( ) const

Returns the name of the service entry.

◆ getName() [2/2]

static char* serviceentry::getName ( int32_t  port,
const char *  protocol 
)
static

Convenience method. Sets "name" to the name of the service that a server listening on "port", using "protocol" (tcp, udp, etc.) would be serving. Note that "name" is allocated internally and returned. The calling program must free the buffer.

Note that the return value is allocated internally and returned. The calling program must free the buffer.

Returns NULL if an error occurred or one of the paramters was invalid.

◆ getPort() [1/2]

int32_t serviceentry::getPort ( ) const

Returns the port that a server for this service entry would listen on.

◆ getPort() [2/2]

static int32_t serviceentry::getPort ( const char *  servicename,
const char *  protocol 
)
static

Convenience method. Returns the port that the server for "servicename" using "protocol" (tcp, udp, etc.) would listen on.

Returns -1 if an error occurred or one of the paramters was invalid.

◆ getProtocol()

const char* serviceentry::getProtocol ( ) const

Returns the protocol (tcp, udp, etc.) for this service entry.

◆ initialize() [1/2]

bool serviceentry::initialize ( const char *  servicename,
const char *  protocol 
)

Looks up a service entry by "servicename" and "protocol" (tcp, udp, etc.). Returns true on success and false on failure.

◆ initialize() [2/2]

bool serviceentry::initialize ( int32_t  port,
const char *  protocol 
)

Looks up a service entry by the "port" that a server for would listen on and the "protocol" that it would use (tcp, udp, etc.). Returns true on success and false on failure.

◆ needsMutex()

static bool serviceentry::needsMutex ( )
static

Returns true if this class needs a mutex to operate safely in a threaded environment and false otherwise.

◆ operator=()

serviceentry& serviceentry::operator= ( const serviceentry s)

Makes this instance of the serviceentry class identical to "s".

◆ setMutex()

static void serviceentry::setMutex ( threadmutex mtx)
static

Allows you to supply a mutex is the class needs it. (see needsMutex()). If your application is not multithreaded, then there is no need to supply a mutex.