/usr/include/root/TBonjourRegistrar.h is in libroot-net-bonjour-dev 5.34.14-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | // @(#)root/bonjour:$Id$
// Author: Fons Rademakers 29/05/2009
/*************************************************************************
* Copyright (C) 1995-2009, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TBonjourRegistrar
#define ROOT_TBonjourRegistrar
//////////////////////////////////////////////////////////////////////////
// //
// TBonjourRegistrar //
// //
// This class consists of one main member function, RegisterService(), //
// that registers the service. As long as the object is alive, the //
// service stays registered. The rest of the class wraps the various //
// bits of Bonjour service registration. The static callback function //
// is marked with the DNSSD_API macro to make sure that the callback //
// has the correct calling convention on Windows. //
// //
// Bonjour works out-of-the-box on MacOS X. On Linux you have to //
// install the Avahi package and run the avahi-daemon. To compile //
// these classes and run Avahi on Linux you need to install the: //
// avahi //
// avahi-compat-libdns_sd-devel //
// nss-mdns //
// packages. After installation make sure the avahi-daemon is started. //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TObject
#include "TObject.h"
#endif
#ifndef ROOT_TQObject
#include "TQObject.h"
#endif
#ifndef ROOT_TBonjourRecord
#include "TBonjourRecord.h"
#endif
#if !defined(__CINT__)
#include <dns_sd.h>
#else
typedef ULong_t DNSServiceRef;
typedef UInt_t DNSServiceFlags;
typedef Int_t DNSServiceErrorType;
#endif
class TFileHandler;
class TBonjourRegistrar : public TObject, public TQObject {
private:
DNSServiceRef fDNSRef;
TFileHandler *fBonjourSocketHandler;
TBonjourRecord fFinalRecord;
void *GetSender() { return this; } // used to get gTQSender
#if !defined(__CINT__)
static void DNSSD_API BonjourRegisterService(DNSServiceRef, DNSServiceFlags, DNSServiceErrorType,
const char *, const char *, const char *, void *);
#else
static void BonjourRegisterService(DNSServiceRef, DNSServiceFlags, DNSServiceErrorType,
const char *, const char *, const char *, void *);
#endif
public:
TBonjourRegistrar();
virtual ~TBonjourRegistrar();
Int_t RegisterService(const TBonjourRecord &record, UShort_t servicePort);
TBonjourRecord RegisteredRecord() const { return fFinalRecord; }
void ServiceRegistered(TBonjourRecord *record); //*SIGNAL*
void BonjourSocketReadyRead(); // private slot
ClassDef(TBonjourRegistrar,0) // Register Bonjour service
};
#endif
|