ROOT logo
// @(#)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_TBonjourRecord
#define ROOT_TBonjourRecord


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TBonjourRecord                                                       //
//                                                                      //
// Contains all information concerning a Bonjour entry.                 //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TObject
#include "TObject.h"
#endif

#ifndef ROOT_TString
#include "TString.h"
#endif



class TBonjourRecord : public TObject {

private:
   TString   fServiceName;
   TString   fRegisteredType;
   TString   fReplyDomain;
   TString   fTXTRecords;

public:
   TBonjourRecord() { }
   TBonjourRecord(const char *name, const char *regType, const char *domain) :
      fServiceName(name), fRegisteredType(regType), fReplyDomain(domain),
      fTXTRecords("") { }
   TBonjourRecord(const char *name, const char *regType, const char *domain,
                  const char *txt) :
      fServiceName(name), fRegisteredType(regType),
      fReplyDomain(domain), fTXTRecords(txt) { }
   virtual ~TBonjourRecord() { }

   Bool_t operator==(const TBonjourRecord &other) const {
      return fServiceName == other.fServiceName &&
             fRegisteredType == other.fRegisteredType &&
             fReplyDomain == other.fReplyDomain &&
             fTXTRecords == other.fTXTRecords;
   }

   Bool_t IsEqual(const TObject *obj) const { return *this == *(TBonjourRecord*)obj; }

   const char *GetServiceName() const { return fServiceName; }
   const char *GetRegisteredType() const { return fRegisteredType; }
   const char *GetReplyDomain() const { return fReplyDomain; }
   const char *GetTXTRecords() const { return fTXTRecords; }
   Int_t GetTXTRecordsLength() const { return fTXTRecords.Length(); }

   void AddTXTRecord(const char *record);
   void AddTXTRecord(const TString &record);

   void Print(Option_t *opt = "") const;

   ClassDef(TBonjourRecord,0)  // Bonjour information record
};

#endif
 TBonjourRecord.h:1
 TBonjourRecord.h:2
 TBonjourRecord.h:3
 TBonjourRecord.h:4
 TBonjourRecord.h:5
 TBonjourRecord.h:6
 TBonjourRecord.h:7
 TBonjourRecord.h:8
 TBonjourRecord.h:9
 TBonjourRecord.h:10
 TBonjourRecord.h:11
 TBonjourRecord.h:12
 TBonjourRecord.h:13
 TBonjourRecord.h:14
 TBonjourRecord.h:15
 TBonjourRecord.h:16
 TBonjourRecord.h:17
 TBonjourRecord.h:18
 TBonjourRecord.h:19
 TBonjourRecord.h:20
 TBonjourRecord.h:21
 TBonjourRecord.h:22
 TBonjourRecord.h:23
 TBonjourRecord.h:24
 TBonjourRecord.h:25
 TBonjourRecord.h:26
 TBonjourRecord.h:27
 TBonjourRecord.h:28
 TBonjourRecord.h:29
 TBonjourRecord.h:30
 TBonjourRecord.h:31
 TBonjourRecord.h:32
 TBonjourRecord.h:33
 TBonjourRecord.h:34
 TBonjourRecord.h:35
 TBonjourRecord.h:36
 TBonjourRecord.h:37
 TBonjourRecord.h:38
 TBonjourRecord.h:39
 TBonjourRecord.h:40
 TBonjourRecord.h:41
 TBonjourRecord.h:42
 TBonjourRecord.h:43
 TBonjourRecord.h:44
 TBonjourRecord.h:45
 TBonjourRecord.h:46
 TBonjourRecord.h:47
 TBonjourRecord.h:48
 TBonjourRecord.h:49
 TBonjourRecord.h:50
 TBonjourRecord.h:51
 TBonjourRecord.h:52
 TBonjourRecord.h:53
 TBonjourRecord.h:54
 TBonjourRecord.h:55
 TBonjourRecord.h:56
 TBonjourRecord.h:57
 TBonjourRecord.h:58
 TBonjourRecord.h:59
 TBonjourRecord.h:60
 TBonjourRecord.h:61
 TBonjourRecord.h:62
 TBonjourRecord.h:63
 TBonjourRecord.h:64
 TBonjourRecord.h:65
 TBonjourRecord.h:66
 TBonjourRecord.h:67
 TBonjourRecord.h:68
 TBonjourRecord.h:69
 TBonjourRecord.h:70
 TBonjourRecord.h:71
 TBonjourRecord.h:72
 TBonjourRecord.h:73
 TBonjourRecord.h:74
 TBonjourRecord.h:75
 TBonjourRecord.h:76