xrootd
|
#include <XrdOucAvahiBonjour.hh>
Classes | |
class | XrdOucAvahiBonjourSearchNode |
class | XrdOucAvahiBonjourSingletonCleanup |
Public Member Functions | |
int | RegisterService (XrdOucBonjourRecord &record, unsigned short port=0) |
int | SubscribeForUpdates (const char *servicetype, XrdOucBonjourUpdateCallback callback, void *context) |
int | ResolveNodeInformation (XrdOucBonjourResolutionEntry *nodeAndCallback) |
int | RegisterService (XrdOucBonjourRecord &record, unsigned short port=0) |
int | SubscribeForUpdates (const char *servicetype, XrdOucBonjourUpdateCallback callback, void *context) |
int | ResolveNodeInformation (XrdOucBonjourResolutionEntry *nodeAndCallback) |
Static Public Member Functions | |
static XrdOucAvahiBonjour & | getInstance () |
static XrdOucAvahiBonjour & | getInstance () |
Private Member Functions | |
XrdOucAvahiBonjour () | |
virtual | ~XrdOucAvahiBonjour () |
XrdOucAvahiBonjour (const XrdOucAvahiBonjour &) | |
XrdOucAvahiBonjour & | operator= (const XrdOucAvahiBonjour &) |
XrdOucAvahiBonjour () | |
virtual | ~XrdOucAvahiBonjour () |
XrdOucAvahiBonjour (const XrdOucAvahiBonjour &) | |
XrdOucAvahiBonjour & | operator= (const XrdOucAvahiBonjour &) |
Static Private Member Functions | |
static void * | BrowseEventLoopThread (void *context) |
static void | RegisterReply (AvahiClient *c, AvahiClientState state, void *userdata) |
static void | RegisterEntries (XrdOucBonjourRegisteredEntry *entry) |
static void | EntryGroupReply (AvahiEntryGroup *g, AvahiEntryGroupState state, void *userdata) |
static void | ClientReply (AvahiClient *c, AvahiClientState state, void *userdata) |
static void | BrowseReply (AvahiServiceBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *name, const char *type, const char *domain, AvahiLookupResultFlags flags, void *userdata) |
static void | ResolveReply (AvahiServiceResolver *r, AvahiIfIndex interface, AvahiProtocol protocol, AvahiResolverEvent event, const char *name, const char *type, const char *domain, const char *host_name, const AvahiAddress *address, uint16_t port, AvahiStringList *txt, AvahiLookupResultFlags flags, void *userdata) |
static void * | BrowseEventLoopThread (void *context) |
static void | RegisterReply (AvahiClient *c, AvahiClientState state, void *userdata) |
static void | RegisterEntries (XrdOucBonjourRegisteredEntry *entry) |
static void | EntryGroupReply (AvahiEntryGroup *g, AvahiEntryGroupState state, void *userdata) |
static void | ClientReply (AvahiClient *c, AvahiClientState state, void *userdata) |
static void | BrowseReply (AvahiServiceBrowser *b, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *name, const char *type, const char *domain, AvahiLookupResultFlags flags, void *userdata) |
static void | ResolveReply (AvahiServiceResolver *r, AvahiIfIndex interface, AvahiProtocol protocol, AvahiResolverEvent event, const char *name, const char *type, const char *domain, const char *host_name, const AvahiAddress *address, uint16_t port, AvahiStringList *txt, AvahiLookupResultFlags flags, void *userdata) |
Private Attributes | |
std::list < XrdOucBonjourRegisteredEntry * > | ListOfRegistrations |
pthread_t | BrowseEventLoopThreadInfo |
AvahiSimplePoll * | poller |
Static Private Attributes | |
static XrdOucAvahiBonjour * | _Instance = NULL |
static XrdSysMutex | SingletonMutex |
Friends | |
class | XrdOucAvahiBonjourSingletonCleanup |
XrdOucAvahiBonjour::XrdOucAvahiBonjour | ( | ) | [private] |
References poller.
Referenced by getInstance().
XrdOucAvahiBonjour::~XrdOucAvahiBonjour | ( | ) | [private, virtual] |
References poller.
XrdOucAvahiBonjour::XrdOucAvahiBonjour | ( | const XrdOucAvahiBonjour & | ) | [inline, private] |
XrdOucAvahiBonjour::XrdOucAvahiBonjour | ( | ) | [private] |
virtual XrdOucAvahiBonjour::~XrdOucAvahiBonjour | ( | ) | [private, virtual] |
XrdOucAvahiBonjour::XrdOucAvahiBonjour | ( | const XrdOucAvahiBonjour & | ) | [inline, private] |
void * XrdOucAvahiBonjour::BrowseEventLoopThread | ( | void * | context | ) | [static, private] |
References BrowseReply(), XrdOucString::c_str(), ClientReply(), XrdSysError::Emsg(), and XrdOucBonjourSubscribedEntry::serviceType.
Referenced by SubscribeForUpdates().
static void* XrdOucAvahiBonjour::BrowseEventLoopThread | ( | void * | context | ) | [static, private] |
static void XrdOucAvahiBonjour::BrowseReply | ( | AvahiServiceBrowser * | b, |
AvahiIfIndex | interface, | ||
AvahiProtocol | protocol, | ||
AvahiBrowserEvent | event, | ||
const char * | name, | ||
const char * | type, | ||
const char * | domain, | ||
AvahiLookupResultFlags | flags, | ||
void * | userdata | ||
) | [static, private] |
void XrdOucAvahiBonjour::BrowseReply | ( | AvahiServiceBrowser * | b, |
AvahiIfIndex | interface, | ||
AvahiProtocol | protocol, | ||
AvahiBrowserEvent | event, | ||
const char * | name, | ||
const char * | type, | ||
const char * | domain, | ||
AvahiLookupResultFlags | flags, | ||
void * | userdata | ||
) | [static, private] |
References XrdOucBonjourSubscribedEntry::callback, XrdOucBonjourResolutionEntry::callbackID, XrdOucBonjourSubscribedEntry::context, XrdSysError::Emsg(), getInstance(), XrdOucBonjour::ListOfNodes, XrdOucBonjour::LockNodeList(), XrdOucBonjourResolutionEntry::node, ResolveReply(), XrdSysError::Say(), and XrdOucBonjour::UnLockNodeList().
Referenced by BrowseEventLoopThread().
static void XrdOucAvahiBonjour::ClientReply | ( | AvahiClient * | c, |
AvahiClientState | state, | ||
void * | userdata | ||
) | [static, private] |
void XrdOucAvahiBonjour::ClientReply | ( | AvahiClient * | c, |
AvahiClientState | state, | ||
void * | userdata | ||
) | [static, private] |
References XrdSysError::Emsg().
Referenced by BrowseEventLoopThread().
void XrdOucAvahiBonjour::EntryGroupReply | ( | AvahiEntryGroup * | g, |
AvahiEntryGroupState | state, | ||
void * | userdata | ||
) | [static, private] |
static void XrdOucAvahiBonjour::EntryGroupReply | ( | AvahiEntryGroup * | g, |
AvahiEntryGroupState | state, | ||
void * | userdata | ||
) | [static, private] |
XrdOucAvahiBonjour & XrdOucAvahiBonjour::getInstance | ( | ) | [static] |
Reimplemented from XrdOucBonjour.
References _Instance, XrdSysMutex::Lock(), SingletonMutex, XrdSysMutex::UnLock(), and XrdOucAvahiBonjour().
Referenced by BrowseReply(), XrdOucAvahiBonjourFactory::GetBonjourManager(), and ResolveReply().
static XrdOucAvahiBonjour& XrdOucAvahiBonjour::getInstance | ( | ) | [static] |
Reimplemented from XrdOucBonjour.
XrdOucAvahiBonjour& XrdOucAvahiBonjour::operator= | ( | const XrdOucAvahiBonjour & | ) | [inline, private] |
XrdOucAvahiBonjour& XrdOucAvahiBonjour::operator= | ( | const XrdOucAvahiBonjour & | ) | [inline, private] |
void XrdOucAvahiBonjour::RegisterEntries | ( | XrdOucBonjourRegisteredEntry * | entry | ) | [static, private] |
References XrdSysError::Emsg(), EntryGroupReply(), XrdOucBonjourRecord::GetRegisteredType(), XrdOucBonjourRecord::GetReplyDomain(), XrdOucBonjourRecord::GetServiceName(), XrdOucBonjourRegisteredEntry::port, XrdOucBonjourRegisteredEntry::record, and XrdOucBonjourRecord::SetServiceName().
Referenced by EntryGroupReply(), and RegisterReply().
static void XrdOucAvahiBonjour::RegisterEntries | ( | XrdOucBonjourRegisteredEntry * | entry | ) | [static, private] |
static void XrdOucAvahiBonjour::RegisterReply | ( | AvahiClient * | c, |
AvahiClientState | state, | ||
void * | userdata | ||
) | [static, private] |
void XrdOucAvahiBonjour::RegisterReply | ( | AvahiClient * | c, |
AvahiClientState | state, | ||
void * | userdata | ||
) | [static, private] |
References XrdSysError::Emsg(), and RegisterEntries().
Referenced by RegisterService().
int XrdOucAvahiBonjour::RegisterService | ( | XrdOucBonjourRecord & | record, |
unsigned short | port = 0 |
||
) | [virtual] |
int XrdOucAvahiBonjour::RegisterService | ( | XrdOucBonjourRecord & | record, |
unsigned short | port = 0 |
||
) | [virtual] |
Implements XrdOucBonjour.
int XrdOucAvahiBonjour::ResolveNodeInformation | ( | XrdOucBonjourResolutionEntry * | nodeAndCallback | ) | [virtual] |
Implements XrdOucBonjour.
int XrdOucAvahiBonjour::ResolveNodeInformation | ( | XrdOucBonjourResolutionEntry * | nodeAndCallback | ) | [virtual] |
Implements XrdOucBonjour.
void XrdOucAvahiBonjour::ResolveReply | ( | AvahiServiceResolver * | r, |
AvahiIfIndex | interface, | ||
AvahiProtocol | protocol, | ||
AvahiResolverEvent | event, | ||
const char * | name, | ||
const char * | type, | ||
const char * | domain, | ||
const char * | host_name, | ||
const AvahiAddress * | address, | ||
uint16_t | port, | ||
AvahiStringList * | txt, | ||
AvahiLookupResultFlags | flags, | ||
void * | userdata | ||
) | [static, private] |
References XrdOucBonjourRecord::AddTXTRecord(), XrdOucBonjourSubscribedEntry::callback, XrdOucBonjourResolutionEntry::callbackID, XrdOucBonjourSubscribedEntry::context, XrdSysError::Emsg(), XrdOucBonjourNode::GetBonjourRecord(), getInstance(), XrdOucBonjour::ListOfNodes, XrdOucBonjour::LockNodeList(), XrdOucBonjourResolutionEntry::node, XrdOucBonjourNode::SetHostName(), XrdOucBonjourNode::SetPort(), and XrdOucBonjour::UnLockNodeList().
Referenced by BrowseReply().
static void XrdOucAvahiBonjour::ResolveReply | ( | AvahiServiceResolver * | r, |
AvahiIfIndex | interface, | ||
AvahiProtocol | protocol, | ||
AvahiResolverEvent | event, | ||
const char * | name, | ||
const char * | type, | ||
const char * | domain, | ||
const char * | host_name, | ||
const AvahiAddress * | address, | ||
uint16_t | port, | ||
AvahiStringList * | txt, | ||
AvahiLookupResultFlags | flags, | ||
void * | userdata | ||
) | [static, private] |
int XrdOucAvahiBonjour::SubscribeForUpdates | ( | const char * | servicetype, |
XrdOucBonjourUpdateCallback | callback, | ||
void * | context | ||
) | [virtual] |
Implements XrdOucBonjour.
int XrdOucAvahiBonjour::SubscribeForUpdates | ( | const char * | servicetype, |
XrdOucBonjourUpdateCallback | callback, | ||
void * | context | ||
) | [virtual] |
XrdOucAvahiBonjourSingletonCleanup [friend] |
static XrdOucAvahiBonjour * XrdOucAvahiBonjour::_Instance = NULL [static, private] |
pthread_t XrdOucAvahiBonjour::BrowseEventLoopThreadInfo [private] |
std::list< XrdOucBonjourRegisteredEntry * > XrdOucAvahiBonjour::ListOfRegistrations [private] |
Referenced by RegisterService().
AvahiSimplePoll * XrdOucAvahiBonjour::poller [private] |
Referenced by RegisterService(), XrdOucAvahiBonjour(), and ~XrdOucAvahiBonjour().
static XrdSysMutex XrdOucAvahiBonjour::SingletonMutex [static, private] |