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.6  2005/11/30 13:05:01  csoutheren
00028  * Changed tags for Doxygen
00029  *
00030  * Revision 1.5  2004/04/18 04:38:16  rjongbloed
00031  * Changed all operators that return BOOL to return standard type bool. This is primarily
00032  *   for improved compatibility with std STL usage removing many warnings.
00033  *
00034  * Revision 1.4  2002/09/16 01:14:15  robertj
00035  * Added #define so can select if #pragma interface/implementation is used on
00036  *   platform basis (eg MacOS) rather than compiler, thanks Robert Monaghan.
00037  *
00038  * Revision 1.3  2002/08/05 10:03:47  robertj
00039  * Cosmetic changes to normalise the usage of pragma interface/implementation.
00040  *
00041  * Revision 1.2  2001/03/19 05:51:35  robertj
00042  * Added ! operator to do !IsNULL(), so cannot use it accidentally.
00043  *
00044  * Revision 1.1  2001/03/02 06:59:57  robertj
00045  * Enhanced the globally unique identifier class.
00046  *
00047  */
00048 
00049 #ifndef __OPAL_GUID_H
00050 #define __OPAL_GUID_H
00051 
00052 #ifdef P_USE_PRAGMA
00053 #pragma interface
00054 #endif
00055 
00056 
00057 class PASN_OctetString;
00058 
00059 
00061 
00067 class OpalGloballyUniqueID : public PBYTEArray
00068 {
00069     PCLASSINFO(OpalGloballyUniqueID, PBYTEArray);
00070 
00071   public:
00078     OpalGloballyUniqueID();
00079 
00085     OpalGloballyUniqueID(
00086       const char * cstr    
00087     );
00090     OpalGloballyUniqueID(
00091       const PString & str  
00092     );
00095     OpalGloballyUniqueID(
00096       const PASN_OctetString & ostr  
00097     );
00099 
00106     virtual void PrintOn(
00107       ostream & strm    
00108     ) const;
00109 
00114     virtual void ReadFrom(
00115       istream & strm    
00116     );
00117 
00122     virtual PObject * Clone() const;
00123 
00128     virtual PINDEX HashFunction() const;
00130 
00135     PString AsString() const;
00136 
00139     BOOL IsNULL() const;
00140 
00141     bool operator!() const { return !IsNULL(); }
00143 };
00144 
00145 
00146 #endif // __OPAL_GUID_H
00147 
00148 

Generated on Tue May 8 19:55:15 2007 for OpenH323 by  doxygen 1.5.1