Skip to content
Permalink
mariux
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
//
// C++ Interface: GUIDData
//
// Description: GUIDData class header
// Implements the GUIDData data structure and support methods
//
//
// Author: Rod Smith <rodsmith@rodsbooks.com>, (C) 2010-2011
//
// Copyright: See COPYING file that comes with this distribution
//
//
#ifndef __GUIDDATA_CLASS
#define __GUIDDATA_CLASS
#include <stdint.h>
#include <string>
// Have to play games with uuid_t since it's defined in incompatible ways
// for Unix (libuuid) vs. Windows (in rpc.h)
#ifdef _WIN32
#include <rpc.h>
#ifdef _MSC_VER
#pragma comment(lib, "Rpcrt4.lib")
#endif
typedef unsigned char my_uuid_t[16];
#else // Not Windows
#include <uuid/uuid.h>
typedef uuid_t my_uuid_t;
#endif
using namespace std;
// Note: This class's data size is critical. If data elements must be added,
// it will be necessary to modify various GPT classes to compensate.
class GUIDData {
private:
static bool firstInstance;
protected:
my_uuid_t uuidData;
string DeleteSpaces(string s);
public:
GUIDData(void);
GUIDData(const GUIDData & orig);
GUIDData(const string & orig);
GUIDData(const char * orig);
~GUIDData(void);
// Data assignment operators....
GUIDData & operator=(const GUIDData & orig);
GUIDData & operator=(const string & orig);
GUIDData & operator=(const char * orig);
void Zero(void);
void Randomize(void);
// Data tests....
int operator==(const GUIDData & orig) const;
int operator!=(const GUIDData & orig) const;
// Data retrieval....
string AsString(void) const;
}; // class GUIDData
ostream & operator<<(ostream & os, const GUIDData & data);
#endif