////////////////////////////////////////////////////////////
//
// Implementation of a class
// DceUuid
//
// Copyright 2001
//
////////////////////////////////////////////////////////////
#include <string.h>
#include "DceUuid.h"
// DceUuid
DceUuid::DceUuid()
{
unsigned32 s=0;
uuid_create_nil(&uuid,&s);
if(s==uuid_s_ok) status=0;
else status=1;
}
int DceUuid::set(const uuid_t& z)
{
status=0;
uuid=z;
return status;
}
int DceUuid::set(const unsigned char* z)
{
unsigned32 s=0;
uuid_from_string((unsigned char*)z,&uuid,&s);
if(s==uuid_s_ok) status=0;
else status=1;
return status;
}
int DceUuid::set(const char* z)
{
unsigned32 s=0;
uuid_from_string((unsigned char*)z,&uuid,&s);
if(s==uuid_s_ok) status=0;
else status=1;
return status;
}
int DceUuid::set_random()
{
unsigned32 s=0;
uuid_create(&uuid,&s);
if(s==uuid_s_ok) status=0;
else status=1;
return status;
}
unsigned short DceUuid::hash_value()const
{
unsigned32 s=0;
unsigned short z=uuid_hash((uuid_t*)&uuid,&s);
return z;
}
bool DceUuid::operator==(const DceUuid& z)const
{
unsigned32 s=0;
boolean32 zz=uuid_equal((uuid_t*)&uuid,(uuid_t*)&z.uuid,&s);
return (bool)zz;
}
bool DceUuid::is_nil()const
{
unsigned32 s=0;
boolean32 zz=uuid_is_nil((uuid_t*)&uuid,&s);
return (bool)zz;
}
int DceUuid::get_string(DceString& z)const
{
unsigned32 s=0;
uuid_to_string((uuid_t*)&uuid,&z.data,&s);
if(s!=uuid_s_ok) return 1;
return 0;
}