#include <source/ariba/utility/bootstrap/modules/multicastdns/MulticastDns.h>
Inherits ariba::utility::BootstrapModule.
Public Member Functions | |
MulticastDns (BootstrapInformationCallback *_callback, string info) | |
virtual | ~MulticastDns () |
virtual void | start () |
virtual void | stop () |
virtual string | getName () |
virtual string | getInformation () |
virtual bool | isFunctional () |
virtual void | publishService (string name, string info1, string info2, string info3) |
virtual void | revokeService (string name) |
Private Types | |
typedef map< string, AvahiEntryGroup * > | AvahiGroupMap |
Private Member Functions | |
use_logging_h (MulticastDns) | |
Static Private Member Functions | |
static void | client_callback (AvahiClient *client, AvahiClientState state, void *userdata) |
static void | entry_group_callback (AvahiEntryGroup *group, AvahiEntryGroupState state, void *userdata) |
static void | browse_callback (AvahiServiceBrowser *browser, AvahiIfIndex interface, AvahiProtocol protocol, AvahiBrowserEvent event, const char *name, const char *type, const char *domain, AvahiLookupResultFlags flags, void *userdata) |
static void | resolve_callback (AvahiServiceResolver *resolver, 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 | |
AvahiClient * | avahiclient |
AvahiThreadedPoll * | avahipoll |
AvahiServiceBrowser * | avahibrowser |
AvahiGroupMap | avahigroups |
Static Private Attributes | |
static const string | serviceType = "_spovnet._tcp" |
Definition at line 70 of file MulticastDns.h.
typedef map<string, AvahiEntryGroup*> ariba::utility::MulticastDns::AvahiGroupMap [private] |
Definition at line 94 of file MulticastDns.h.
ariba::utility::MulticastDns::MulticastDns | ( | BootstrapInformationCallback * | _callback, | |
string | info | |||
) |
Definition at line 48 of file MulticastDns.cpp.
References avahibrowser, avahiclient, and avahipoll.
ariba::utility::MulticastDns::~MulticastDns | ( | ) | [virtual] |
Definition at line 57 of file MulticastDns.cpp.
void ariba::utility::MulticastDns::browse_callback | ( | AvahiServiceBrowser * | browser, | |
AvahiIfIndex | interface, | |||
AvahiProtocol | protocol, | |||
AvahiBrowserEvent | event, | |||
const char * | name, | |||
const char * | type, | |||
const char * | domain, | |||
AvahiLookupResultFlags | flags, | |||
void * | userdata | |||
) | [static, private] |
Definition at line 343 of file MulticastDns.cpp.
References avahipoll, logging_debug, logging_warn, and resolve_callback().
Referenced by start().
void ariba::utility::MulticastDns::client_callback | ( | AvahiClient * | client, | |
AvahiClientState | state, | |||
void * | userdata | |||
) | [static, private] |
Definition at line 261 of file MulticastDns.cpp.
References avahipoll, logging_debug, and logging_warn.
Referenced by start().
void ariba::utility::MulticastDns::entry_group_callback | ( | AvahiEntryGroup * | group, | |
AvahiEntryGroupState | state, | |||
void * | userdata | |||
) | [static, private] |
Definition at line 300 of file MulticastDns.cpp.
References avahipoll, logging_debug, and logging_warn.
Referenced by publishService().
string ariba::utility::MulticastDns::getInformation | ( | ) | [virtual] |
Implements ariba::utility::BootstrapModule.
Definition at line 64 of file MulticastDns.cpp.
string ariba::utility::MulticastDns::getName | ( | ) | [virtual] |
Implements ariba::utility::BootstrapModule.
Definition at line 60 of file MulticastDns.cpp.
bool ariba::utility::MulticastDns::isFunctional | ( | ) | [virtual] |
Implements ariba::utility::BootstrapModule.
Definition at line 68 of file MulticastDns.cpp.
void ariba::utility::MulticastDns::publishService | ( | string | name, | |
string | info1, | |||
string | info2, | |||
string | info3 | |||
) | [virtual] |
Implements ariba::utility::BootstrapModule.
Definition at line 160 of file MulticastDns.cpp.
References avahiclient, avahigroups, avahipoll, entry_group_callback(), logging_debug, logging_error, logging_warn, and serviceType.
void ariba::utility::MulticastDns::resolve_callback | ( | AvahiServiceResolver * | resolver, | |
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 390 of file MulticastDns.cpp.
References ariba::utility::BootstrapModule::callback, logging_warn, and ariba::utility::BootstrapInformationCallback::onBootstrapServiceFound().
Referenced by browse_callback().
void ariba::utility::MulticastDns::revokeService | ( | string | name | ) | [virtual] |
Implements ariba::utility::BootstrapModule.
Definition at line 239 of file MulticastDns.cpp.
References avahigroups, avahipoll, logging_debug, and logging_warn.
void ariba::utility::MulticastDns::start | ( | ) | [virtual] |
Implements ariba::utility::BootstrapModule.
Definition at line 76 of file MulticastDns.cpp.
References avahibrowser, avahiclient, avahipoll, browse_callback(), client_callback(), logging_error, and serviceType.
void ariba::utility::MulticastDns::stop | ( | ) | [virtual] |
Implements ariba::utility::BootstrapModule.
Definition at line 124 of file MulticastDns.cpp.
References avahibrowser, avahiclient, avahigroups, and avahipoll.
ariba::utility::MulticastDns::use_logging_h | ( | MulticastDns | ) | [private] |
AvahiServiceBrowser* ariba::utility::MulticastDns::avahibrowser [private] |
Definition at line 92 of file MulticastDns.h.
Referenced by MulticastDns(), start(), and stop().
AvahiClient* ariba::utility::MulticastDns::avahiclient [private] |
Definition at line 90 of file MulticastDns.h.
Referenced by MulticastDns(), publishService(), start(), and stop().
Definition at line 95 of file MulticastDns.h.
Referenced by publishService(), revokeService(), and stop().
AvahiThreadedPoll* ariba::utility::MulticastDns::avahipoll [private] |
Definition at line 91 of file MulticastDns.h.
Referenced by browse_callback(), client_callback(), entry_group_callback(), MulticastDns(), publishService(), revokeService(), start(), and stop().
const string ariba::utility::MulticastDns::serviceType = "_spovnet._tcp" [static, private] |
Definition at line 86 of file MulticastDns.h.
Referenced by publishService(), and start().