RegistrationData Class Reference

#include <RegistrationTable.hpp>

Public Member Functions

 RegistrationData (const char *n, const char *m, SessionID s, ServiceRegistrationData *regData)
 
 RegistrationData (const char *n, SessionID s, ServiceRegistrationData *regData)
 
 ~RegistrationData ()
 
bool matches (const char *n, const char *m)
 
bool matches (const char *n, SessionID s)
 
bool matches (const char *n)
 
bool hasReferences ()
 
bool isLibrary ()
 
bool isEntryPoint ()
 
void getRegistrationData (ServiceRegistrationData &regData)
 
void addSessionReference (SessionID s)
 
void removeSessionReference (SessionID s)
 
SessionCookiefindSessionReference (SessionID s)
 
void removeSessionReference (SessionCookie *s)
 

Public Attributes

RegistrationDatanext
 
const char * name
 
const char * moduleName
 
const char * procedureName
 
uintptr_t userData [2]
 
uintptr_t entryPoint
 
size_t dropAuthority
 
SessionID owner
 
SessionCookiereferences
 

Detailed Description

Definition at line 66 of file RegistrationTable.hpp.

Constructor & Destructor Documentation

◆ RegistrationData() [1/2]

RegistrationData::RegistrationData ( const char *  n,
const char *  m,
SessionID  s,
ServiceRegistrationData regData 
)

Create registration data for a library registration item.

Parameters
nThe callback name.
mThe callback library.
regDataThe additional registration data sent with the message.

Definition at line 49 of file RegistrationTable.cpp.

References dropAuthority, ServiceRegistrationData::dropAuthority, dupString(), entryPoint, moduleName, name, next, owner, procedureName, ServiceRegistrationData::procedureName, references, userData, and ServiceRegistrationData::userData.

◆ RegistrationData() [2/2]

RegistrationData::RegistrationData ( const char *  n,
SessionID  s,
ServiceRegistrationData regData 
)

Register an inprocess item.

Parameters
nThe name of the callback.
sThe session id.
regDataThe service registration data.

Definition at line 70 of file RegistrationTable.cpp.

References dropAuthority, ServiceRegistrationData::dropAuthority, dupString(), entryPoint, ServiceRegistrationData::entryPoint, moduleName, name, next, owner, procedureName, references, userData, and ServiceRegistrationData::userData.

◆ ~RegistrationData()

RegistrationData::~RegistrationData ( )

Destructor for a registration data item.

Definition at line 87 of file RegistrationTable.cpp.

References moduleName, name, SessionCookie::next, procedureName, and references.

Member Function Documentation

◆ addSessionReference()

void RegistrationData::addSessionReference ( SessionID  s)

Add an additional reference to a session.

Parameters
sThe session id to add.

Definition at line 139 of file RegistrationTable.cpp.

References SessionCookie::addReference(), findSessionReference(), SessionCookie::next, and references.

Referenced by RegistrationTable::registerLibraryCallback().

◆ findSessionReference()

SessionCookie * RegistrationData::findSessionReference ( SessionID  s)

Locate a session reference cound.

Parameters
sThe target session identifier.
Returns
The session cookie associated with the session, or NULL if the session has not been tracked yet.

Definition at line 181 of file RegistrationTable.cpp.

References SessionCookie::next, references, and SessionCookie::session.

Referenced by addSessionReference(), and removeSessionReference().

◆ getRegistrationData()

void RegistrationData::getRegistrationData ( ServiceRegistrationData regData)

Copy the registration information into a message data item to be returned to the client.

Parameters
regDataThe returned registration data.

Definition at line 109 of file RegistrationTable.cpp.

References dropAuthority, ServiceRegistrationData::dropAuthority, entryPoint, ServiceRegistrationData::entryPoint, moduleName, ServiceRegistrationData::moduleName, procedureName, ServiceRegistrationData::procedureName, userData, and ServiceRegistrationData::userData.

Referenced by RegistrationTable::queryCallback(), and RegistrationTable::queryLibraryCallback().

◆ hasReferences()

bool RegistrationData::hasReferences ( )
inline

◆ isEntryPoint()

bool RegistrationData::isEntryPoint ( )
inline

Definition at line 78 of file RegistrationTable.hpp.

References moduleName.

Referenced by RegistrationTable::dropLibraryCallback().

◆ isLibrary()

bool RegistrationData::isLibrary ( )
inline

Definition at line 77 of file RegistrationTable.hpp.

References moduleName.

◆ matches() [1/3]

bool RegistrationData::matches ( const char *  n)
inline

Definition at line 75 of file RegistrationTable.hpp.

References name, and Utilities::strCaselessCompare().

◆ matches() [2/3]

bool RegistrationData::matches ( const char *  n,
const char *  m 
)
inline

Definition at line 73 of file RegistrationTable.hpp.

References moduleName, name, and Utilities::strCaselessCompare().

Referenced by RegistrationTable::locate().

◆ matches() [3/3]

bool RegistrationData::matches ( const char *  n,
SessionID  s 
)
inline

Definition at line 74 of file RegistrationTable.hpp.

References name, owner, and Utilities::strCaselessCompare().

◆ removeSessionReference() [1/2]

void RegistrationData::removeSessionReference ( SessionCookie s)

Remove a session reference cookie from the chain.

Parameters
sThe cookit to remove.

Definition at line 200 of file RegistrationTable.cpp.

References SessionCookie::next, and references.

◆ removeSessionReference() [2/2]

void RegistrationData::removeSessionReference ( SessionID  s)

Decrement a session reference count.

Parameters
sThe session identifier.

Definition at line 160 of file RegistrationTable.cpp.

References findSessionReference(), and SessionCookie::removeReference().

Referenced by RegistrationTable::dropCallback(), and RegistrationTable::dropLibraryCallback().

Member Data Documentation

◆ dropAuthority

size_t RegistrationData::dropAuthority

◆ entryPoint

uintptr_t RegistrationData::entryPoint

◆ moduleName

const char* RegistrationData::moduleName

◆ name

const char* RegistrationData::name

Definition at line 87 of file RegistrationTable.hpp.

Referenced by matches(), RegistrationData(), and ~RegistrationData().

◆ next

◆ owner

◆ procedureName

const char* RegistrationData::procedureName

Definition at line 89 of file RegistrationTable.hpp.

Referenced by getRegistrationData(), RegistrationData(), and ~RegistrationData().

◆ references

◆ userData

uintptr_t RegistrationData::userData[2]

Definition at line 90 of file RegistrationTable.hpp.

Referenced by getRegistrationData(), and RegistrationData().


The documentation for this class was generated from the following files: