zeroconfservice.h

00001 #ifndef __ZEROCONFSERVICE_H__
00002 #define __ZEROCONFSERVICE_H__
00003 
00004 #include <e32base.h>
00005 #include <zeroconf/zeroconfprotocols.h>
00006 
00007 class RReadStream;
00008 
00009 namespace Zeroconf
00010         {
00011         
00012         class CServiceParam;
00013 
00023         class CService : public CBase
00024                 {
00025         public:
00034                 IMPORT_C static CService* NewL(RReadStream& aReadStream);
00035                 
00043                 IMPORT_C const TDesC& ServiceName() const;
00044                 
00053                 IMPORT_C const TDesC& ServiceTypeName() const;
00054                 
00062                 IMPORT_C TServiceProtocol ServiceProtocol() const;
00063                 
00073                 IMPORT_C const TDesC& FullyQualifiedName() const;
00074                 
00083                 IMPORT_C const TDesC& HostName() const;
00084                 
00092                 IMPORT_C TUint16 Port() const;
00093                 
00101                 IMPORT_C const RPointerArray<CServiceParam>& Parameters() const;
00102                 
00109                 IMPORT_C ~CService();
00110         protected:
00117                 IMPORT_C CService();
00118                 
00119         private:
00120                 void ConstructL(RReadStream& aReadStream);
00121                 
00122         protected:
00123                 HBufC* iServiceName;
00124                 HBufC* iServiceType;
00125                 TServiceProtocol iServiceProtocol;
00126                 HBufC* iFullyQualifiedName;
00127                 HBufC* iHostName;
00128                 TUint16 iPort;
00129                 
00130                 RPointerArray<CServiceParam> iParams;
00131                 };
00132 
00133         }
00134         
00135 #endif /* __ZEROCONFSERVICE_H__ */