Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

guid.h

Go to the documentation of this file.
00001 /*
00002  * guid.h
00003  *
00004  * Globally Unique Identifier
00005  *
00006  * Open H323 Library
00007  *
00008  * Copyright (c) 1998-2001 Equivalence Pty. Ltd.
00009  *
00010  * The contents of this file are subject to the Mozilla Public License
00011  * Version 1.0 (the "License"); you may not use this file except in
00012  * compliance with the License. You may obtain a copy of the License at
00013  * http://www.mozilla.org/MPL/
00014  *
00015  * Software distributed under the License is distributed on an "AS IS"
00016  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
00017  * the License for the specific language governing rights and limitations
00018  * under the License.
00019  *
00020  * The Original Code is Open H323 Library.
00021  *
00022  * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
00023  *
00024  * Contributor(s): ______________________________________.
00025  *
00026  * $Log: guid.h,v $
00027  * Revision 1.5  2004/04/18 04:38:16  rjongbloed
00028  * Changed all operators that return BOOL to return standard type bool. This is primarily
00029  *   for improved compatibility with std STL usage removing many warnings.
00030  *
00031  * Revision 1.4  2002/09/16 01:14:15  robertj
00032  * Added #define so can select if #pragma interface/implementation is used on
00033  *   platform basis (eg MacOS) rather than compiler, thanks Robert Monaghan.
00034  *
00035  * Revision 1.3  2002/08/05 10:03:47  robertj
00036  * Cosmetic changes to normalise the usage of pragma interface/implementation.
00037  *
00038  * Revision 1.2  2001/03/19 05:51:35  robertj
00039  * Added ! operator to do !IsNULL(), so cannot use it accidentally.
00040  *
00041  * Revision 1.1  2001/03/02 06:59:57  robertj
00042  * Enhanced the globally unique identifier class.
00043  *
00044  */
00045 
00046 #ifndef __OPAL_GUID_H
00047 #define __OPAL_GUID_H
00048 
00049 #ifdef P_USE_PRAGMA
00050 #pragma interface
00051 #endif
00052 
00053 
00054 class PASN_OctetString;
00055 
00056 
00058 
00064 class OpalGloballyUniqueID : public PBYTEArray
00065 {
00066     PCLASSINFO(OpalGloballyUniqueID, PBYTEArray);
00067 
00068   public:
00075     OpalGloballyUniqueID();
00076 
00082     OpalGloballyUniqueID(
00083       const char * cstr    
00084     );
00087     OpalGloballyUniqueID(
00088       const PString & str  
00089     );
00092     OpalGloballyUniqueID(
00093       const PASN_OctetString & ostr  
00094     );
00096 
00103     virtual void PrintOn(
00104       ostream & strm    
00105     ) const;
00106 
00111     virtual void ReadFrom(
00112       istream & strm    
00113     );
00114 
00119     virtual PObject * Clone() const;
00120 
00125     virtual PINDEX HashFunction() const;
00127 
00132     PString AsString() const;
00133 
00136     BOOL IsNULL() const;
00137 
00138     bool operator!() const { return !IsNULL(); }
00140 };
00141 
00142 
00143 #endif // __OPAL_GUID_H
00144 
00145 

Generated on Mon Sep 26 15:44:37 2005 for OpenH323 by  doxygen 1.4.4