#include <XrdOucAvahiBonjour.hh>
Inheritance diagram for XrdOucAvahiBonjour:

Public Member Functions | |
| 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 () |
Private Member Functions | |
| 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) |
Private Attributes | |
| std::list< XrdOucBonjourRegisteredEntry * > | ListOfRegistrations |
| pthread_t | BrowseEventLoopThreadInfo |
| AvahiSimplePoll * | poller |
Static Private Attributes | |
| static XrdOucAvahiBonjour * | _Instance |
| static XrdSysMutex | SingletonMutex |
Friends | |
| class | XrdOucAvahiBonjourSingletonCleanup |
Classes | |
| class | XrdOucAvahiBonjourSearchNode |
| class | XrdOucAvahiBonjourSingletonCleanup |
Definition at line 22 of file XrdOucAvahiBonjour.hh.
| XrdOucAvahiBonjour::XrdOucAvahiBonjour | ( | ) | [private] |
Definition at line 434 of file XrdOucAvahiBonjour.cc.
References env, poller, and putenv.
Referenced by getInstance().
| XrdOucAvahiBonjour::~XrdOucAvahiBonjour | ( | ) | [private, virtual] |
| XrdOucAvahiBonjour::XrdOucAvahiBonjour | ( | const XrdOucAvahiBonjour & | ) | [inline, private] |
Definition at line 34 of file XrdOucAvahiBonjour.hh.
| XrdOucAvahiBonjour& XrdOucAvahiBonjour::operator= | ( | const XrdOucAvahiBonjour & | ) | [inline, private] |
Definition at line 35 of file XrdOucAvahiBonjour.hh.
| void * XrdOucAvahiBonjour::BrowseEventLoopThread | ( | void * | context | ) | [static, private] |
Definition at line 272 of file XrdOucAvahiBonjour.cc.
References BrowseReply(), XrdOucString::c_str(), ClientReply(), XrdSysError::Emsg(), error, NULL, and XrdOucBonjourSubscribedEntry::serviceType.
Referenced by SubscribeForUpdates().
| void XrdOucAvahiBonjour::RegisterReply | ( | AvahiClient * | c, | |
| AvahiClientState | state, | |||
| void * | userdata | |||
| ) | [static, private] |
Definition at line 122 of file XrdOucAvahiBonjour.cc.
References XrdSysError::Emsg(), entry, and RegisterEntries().
Referenced by RegisterService().
| void XrdOucAvahiBonjour::RegisterEntries | ( | XrdOucBonjourRegisteredEntry * | entry | ) | [static, private] |
Definition at line 64 of file XrdOucAvahiBonjour.cc.
References XrdSysError::Emsg(), entry, EntryGroupReply(), list, n, and NULL.
Referenced by EntryGroupReply(), and RegisterReply().
| void XrdOucAvahiBonjour::EntryGroupReply | ( | AvahiEntryGroup * | g, | |
| AvahiEntryGroupState | state, | |||
| void * | userdata | |||
| ) | [static, private] |
Definition at line 30 of file XrdOucAvahiBonjour.cc.
References XrdSysError::Emsg(), entry, n, and RegisterEntries().
Referenced by RegisterEntries().
| void XrdOucAvahiBonjour::ClientReply | ( | AvahiClient * | c, | |
| AvahiClientState | state, | |||
| void * | userdata | |||
| ) | [static, private] |
Definition at line 263 of file XrdOucAvahiBonjour.cc.
References XrdSysError::Emsg().
Referenced by BrowseEventLoopThread().
| 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] |
Definition at line 198 of file XrdOucAvahiBonjour.cc.
References XrdOucBonjourSubscribedEntry::callback, XrdOucBonjourResolutionEntry::callbackID, XrdOucBonjourSubscribedEntry::context, XrdSysError::Emsg(), getInstance(), XrdOucBonjour::ListOfNodes, XrdOucBonjour::LockNodeList(), malloc(), XrdOucBonjourResolutionEntry::node, ResolveReply(), XrdSysError::Say(), and XrdOucBonjour::UnLockNodeList().
Referenced by BrowseEventLoopThread().
| 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] |
Definition at line 336 of file XrdOucAvahiBonjour.cc.
References XrdOucBonjourRecord::AddTXTRecord(), XrdOucBonjourResolutionEntry::callbackID, XrdSysError::Emsg(), free(), XrdOucBonjourNode::GetBonjourRecord(), getInstance(), XrdOucBonjour::ListOfNodes, XrdOucBonjour::LockNodeList(), XrdOucBonjourResolutionEntry::node, NULL, XrdOucBonjourNode::SetHostName(), XrdOucBonjourNode::SetPort(), size, size_t, XrdOucBonjour::UnLockNodeList(), and value.
Referenced by BrowseReply().
| int XrdOucAvahiBonjour::RegisterService | ( | XrdOucBonjourRecord & | record, | |
| unsigned short | port = 0 | |||
| ) | [virtual] |
Implements XrdOucBonjour.
Definition at line 153 of file XrdOucAvahiBonjour.cc.
References XrdSysError::Emsg(), entry, free(), XrdOucBonjourRecord::GetRegisteredType(), ListOfRegistrations, malloc(), NULL, poller, XrdNet::Port(), XrdProtLoad::ProtoMax, RegisterReply(), and XrdNetTCP.
| int XrdOucAvahiBonjour::SubscribeForUpdates | ( | const char * | servicetype, | |
| XrdOucBonjourUpdateCallback | callback, | |||
| void * | context | |||
| ) | [virtual] |
Implements XrdOucBonjour.
Definition at line 317 of file XrdOucAvahiBonjour.cc.
References BrowseEventLoopThread(), XrdOucBonjourSubscribedEntry::callback, XrdOucBonjourSubscribedEntry::context, malloc(), NULL, XrdSysThread::Run(), and XrdOucBonjourSubscribedEntry::serviceType.
| int XrdOucAvahiBonjour::ResolveNodeInformation | ( | XrdOucBonjourResolutionEntry * | nodeAndCallback | ) | [virtual] |
| XrdOucAvahiBonjour & XrdOucAvahiBonjour::getInstance | ( | ) | [static] |
Reimplemented from XrdOucBonjour.
Definition at line 452 of file XrdOucAvahiBonjour.cc.
References _Instance, XrdSysMutex::Lock(), SingletonMutex, XrdSysMutex::UnLock(), and XrdOucAvahiBonjour().
Referenced by BrowseReply(), XrdOucAvahiBonjourFactory::GetBonjourManager(), and ResolveReply().
friend class XrdOucAvahiBonjourSingletonCleanup [friend] |
Definition at line 41 of file XrdOucAvahiBonjour.hh.
XrdOucAvahiBonjour * XrdOucAvahiBonjour::_Instance [static, private] |
Definition at line 25 of file XrdOucAvahiBonjour.hh.
Referenced by getInstance(), and XrdOucAvahiBonjour::XrdOucAvahiBonjourSingletonCleanup::~XrdOucAvahiBonjourSingletonCleanup().
XrdSysMutex XrdOucAvahiBonjour::SingletonMutex [static, private] |
Definition at line 28 of file XrdOucAvahiBonjour.hh.
Referenced by getInstance(), and XrdOucAvahiBonjour::XrdOucAvahiBonjourSingletonCleanup::~XrdOucAvahiBonjourSingletonCleanup().
Definition at line 66 of file XrdOucAvahiBonjour.hh.
AvahiSimplePoll* XrdOucAvahiBonjour::poller [private] |
Definition at line 70 of file XrdOucAvahiBonjour.hh.
Referenced by RegisterService(), XrdOucAvahiBonjour(), and ~XrdOucAvahiBonjour().
1.5.1