/usr/include/openh323/guid.h is in libh323plus-dev 1.24.0~dfsg2-1ubuntu1.
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 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | /*
* guid.h
*
* Globally Unique Identifier
*
* Open H323 Library
*
* Copyright (c) 1998-2001 Equivalence Pty. Ltd.
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* The Original Code is Open H323 Library.
*
* The Initial Developer of the Original Code is Equivalence Pty. Ltd.
*
* Contributor(s): ______________________________________.
*
* $Log: guid.h,v $
* Revision 1.2 2008/05/23 11:19:19 willamowius
* switch BOOL to PBoolean to be able to compile with Ptlib 2.2.x
*
* Revision 1.1 2007/08/06 20:50:48 shorne
* First commit of h323plus
*
* Revision 1.6 2005/11/30 13:05:01 csoutheren
* Changed tags for Doxygen
*
* Revision 1.5 2004/04/18 04:38:16 rjongbloed
* Changed all operators that return PBoolean to return standard type bool. This is primarily
* for improved compatibility with std STL usage removing many warnings.
*
* Revision 1.4 2002/09/16 01:14:15 robertj
* Added #define so can select if #pragma interface/implementation is used on
* platform basis (eg MacOS) rather than compiler, thanks Robert Monaghan.
*
* Revision 1.3 2002/08/05 10:03:47 robertj
* Cosmetic changes to normalise the usage of pragma interface/implementation.
*
* Revision 1.2 2001/03/19 05:51:35 robertj
* Added ! operator to do !IsNULL(), so cannot use it accidentally.
*
* Revision 1.1 2001/03/02 06:59:57 robertj
* Enhanced the globally unique identifier class.
*
*/
#ifndef __OPAL_GUID_H
#define __OPAL_GUID_H
#ifdef P_USE_PRAGMA
#pragma interface
#endif
class PASN_OctetString;
///////////////////////////////////////////////////////////////////////////////
/**Globally unique ID definition.
This implements a 128 bit globally unique ID as required by many protocols
and software systems. The value is constructed in such a way as to make a
duplicate anywhere in the world highly unlikely.
*/
class OpalGloballyUniqueID : public PBYTEArray
{
PCLASSINFO(OpalGloballyUniqueID, PBYTEArray);
public:
/**@name Construction */
//@{
/**Create a new ID.
The ID created with this will be initialised to a globally unique ID
as per specification.
*/
OpalGloballyUniqueID();
/**Create an ID from a C string of hex (as produced by AsString()).
A useful construct is to construct a OpalGloballyUniqueID() with
NULL which produces an all zero GUID, etectable with the isNULL()
function.
*/
OpalGloballyUniqueID(
const char * cstr ///< C string to convert
);
/**Create an ID from a PString of hex (as produced by AsString()).
*/
OpalGloballyUniqueID(
const PString & str ///< String of hex to convert
);
/**Create an ID from an octet string in an ASN PDU.
*/
OpalGloballyUniqueID(
const PASN_OctetString & ostr ///< Octet string from ASN to convert
);
//@}
/**@name Overrides from PObject */
//@{
/**Standard stream print function.
The PObject class has a << operator defined that calls this function
polymorphically.
*/
virtual void PrintOn(
ostream & strm ///< Stream to output text representation
) const;
/**Standard stream read function.
The PObject class has a >> operator defined that calls this function
polymorphically.
*/
virtual void ReadFrom(
istream & strm ///< Stream to output text representation
);
/**Create a clone of the ID.
The duplicate ID has the same value as the source. Required for having
this object as a key in dictionaries.
*/
virtual PObject * Clone() const;
/**Get the hash value for the ID.
Creates a number based on the ID value for use in the hash table of
a dictionary. Required for having this object as a key in dictionaries.
*/
virtual PINDEX HashFunction() const;
//@}
/**@name Operations */
//@{
/**Convert the ID to human readable string.
*/
PString AsString() const;
/**Test if the GUID is null, ie consists of all zeros.
*/
PBoolean IsNULL() const;
bool operator!() const { return !IsNULL(); }
//@}
};
#endif // __OPAL_GUID_H
/////////////////////////////////////////////////////////////////////////////
|