Browse Source

Make pnUtUuid compile on *nix.

Darryl Pogue 13 years ago
parent
commit
945e1ac37b
  1. 11
      Sources/Plasma/NucleusLib/pnUUID/pnUUID.cpp
  2. 6
      Sources/Plasma/NucleusLib/pnUUID/pnUUID.h
  3. 11
      Sources/Plasma/NucleusLib/pnUUID/pnUUID_Win32.cpp
  4. 4
      Sources/Plasma/NucleusLib/pnUtils/CMakeLists.txt
  5. 1
      Sources/Plasma/NucleusLib/pnUtils/Pch.h
  6. 2
      Sources/Plasma/NucleusLib/pnUtils/Unix/pnUtUxUuid.cpp
  7. 4
      Sources/Plasma/NucleusLib/pnUtils/pnUtAllIncludes.h
  8. 6
      Sources/Plasma/NucleusLib/pnUtils/pnUtCrypt.cpp
  9. 7
      Sources/Plasma/NucleusLib/pnUtils/pnUtSync.h
  10. 2
      Sources/Plasma/NucleusLib/pnUtils/pnUtUuid.cpp
  11. 4
      Sources/Plasma/NucleusLib/pnUtils/pnUtUuid.h

11
Sources/Plasma/NucleusLib/pnUUID/pnUUID.cpp

@ -57,6 +57,11 @@ plUUID::plUUID( const plUUID & other )
CopyFrom( &other ); CopyFrom( &other );
} }
plUUID::plUUID( const Uuid & uuid )
{
memcpy(fData, uuid.data, sizeof(fData));
}
void plUUID::Read( hsStream * s) void plUUID::Read( hsStream * s)
{ {
s->LogSubStreamPushDesc("plUUID"); s->LogSubStreamPushDesc("plUUID");
@ -73,3 +78,9 @@ const char * plUUID::AsString() const {
ToStdString(str); ToStdString(str);
return str.c_str(); return str.c_str();
} }
plUUID::operator Uuid () const {
Uuid uuid;
memcpy(uuid.data, fData, sizeof(uuid.data));
return uuid;
}

6
Sources/Plasma/NucleusLib/pnUUID/pnUUID.h

@ -44,9 +44,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "HeadSpin.h" #include "HeadSpin.h"
#include "hsStlUtils.h" #include "hsStlUtils.h"
#ifdef HS_BUILD_FOR_WIN32
#include "pnUtils/pnUtUuid.h" #include "pnUtils/pnUtUuid.h"
#endif
class hsStream; class hsStream;
@ -65,9 +63,7 @@ public:
plUUID(); plUUID();
plUUID( const char * s ); plUUID( const char * s );
plUUID( const plUUID & other ); plUUID( const plUUID & other );
#ifdef HS_BUILD_FOR_WIN32
plUUID( const Uuid & uuid ); plUUID( const Uuid & uuid );
#endif
void Clear(); void Clear();
bool IsNull() const; bool IsNull() const;
bool IsSet() const { return !IsNull(); } bool IsSet() const { return !IsNull(); }
@ -85,9 +81,7 @@ public:
bool operator==( const plUUID & other ) const { return IsEqualTo( &other ); } bool operator==( const plUUID & other ) const { return IsEqualTo( &other ); }
bool operator!=( const plUUID & other ) const { return !IsEqualTo( &other ); } bool operator!=( const plUUID & other ) const { return !IsEqualTo( &other ); }
int operator <( const plUUID & other ) const { return CompareTo( &other ); } int operator <( const plUUID & other ) const { return CompareTo( &other ); }
#ifdef HS_BUILD_FOR_WIN32
operator Uuid () const; operator Uuid () const;
#endif
static plUUID Generate(); static plUUID Generate();
}; };

11
Sources/Plasma/NucleusLib/pnUUID/pnUUID_Win32.cpp

@ -47,11 +47,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include <rpc.h> #include <rpc.h>
plUUID::plUUID( const Uuid & uuid )
{
memcpy(fData, uuid.data, sizeof(fData));
}
void plUUID::Clear() void plUUID::Clear()
{ {
UuidCreateNil( (GUID *)this ); UuidCreateNil( (GUID *)this );
@ -85,12 +80,6 @@ void plUUID::CopyFrom( const plUUID & v ) {
memcpy(fData, v.fData, sizeof(fData)); memcpy(fData, v.fData, sizeof(fData));
} }
plUUID::operator Uuid () const {
Uuid uuid;
memcpy(uuid.data, fData, sizeof(uuid.data));
return uuid;
}
bool plUUID::FromString( const char * str ) bool plUUID::FromString( const char * str )
{ {
Clear(); Clear();

4
Sources/Plasma/NucleusLib/pnUtils/CMakeLists.txt

@ -45,6 +45,7 @@ set(pnUtils_SOURCES
pnUtSpareList.cpp pnUtSpareList.cpp
pnUtStr.cpp pnUtStr.cpp
pnUtTime.cpp pnUtTime.cpp
pnUtUuid.cpp
) )
if(WIN32) if(WIN32)
@ -59,13 +60,12 @@ if(WIN32)
pnUtCrypt.cpp pnUtCrypt.cpp
pnUtTls.cpp pnUtTls.cpp
pnUtUuid.cpp
) )
else() else()
set(pnUtils_UNIX set(pnUtils_UNIX
Unix/pnUtUxStr.cpp Unix/pnUtUxStr.cpp
#Unix/pnUtUxSync.cpp #Unix/pnUtUxSync.cpp
#Unix/pnUtUxUuid.cpp Unix/pnUtUxUuid.cpp
) )
endif() endif()

1
Sources/Plasma/NucleusLib/pnUtils/Pch.h

@ -50,7 +50,6 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "pnUtCoreLib.h" // must be first in list #include "pnUtCoreLib.h" // must be first in list
#include "pnUtPragma.h" #include "pnUtPragma.h"
#include "pnProduct/pnProduct.h"
#include <malloc.h> #include <malloc.h>

2
Sources/Plasma/NucleusLib/pnUtils/Unix/pnUtUxUuid.cpp

@ -45,7 +45,7 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
* *
***/ ***/
#include "../pnUtUUID.h" #include "../pnUtUuid.h"
/***************************************************************************** /*****************************************************************************
* *

4
Sources/Plasma/NucleusLib/pnUtils/pnUtAllIncludes.h

@ -52,18 +52,14 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
#include "pnUtCoreLib.h" // must be first in list #include "pnUtCoreLib.h" // must be first in list
#include "pnUtPragma.h" #include "pnUtPragma.h"
#include "pnUtAddr.h" #include "pnUtAddr.h"
#if HS_BUILD_FOR_WIN32
#include "pnUtUuid.h" #include "pnUtUuid.h"
#endif
#include "pnUtMath.h" #include "pnUtMath.h"
#include "pnUtSort.h" #include "pnUtSort.h"
#include "pnUtArray.h" #include "pnUtArray.h"
#include "pnUtList.h" #include "pnUtList.h"
#include "pnUtHash.h" #include "pnUtHash.h"
#include "pnUtPriQ.h" #include "pnUtPriQ.h"
#if HS_BUILD_FOR_WIN32
#include "pnUtSync.h" #include "pnUtSync.h"
#endif
#include "pnUtTime.h" #include "pnUtTime.h"
#if HS_BUILD_FOR_WIN32 #if HS_BUILD_FOR_WIN32
#include "pnUtTls.h" #include "pnUtTls.h"

6
Sources/Plasma/NucleusLib/pnUtils/pnUtCrypt.cpp

@ -46,6 +46,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
***/ ***/
#include "pnUtCrypt.h" #include "pnUtCrypt.h"
#include "pnUtStr.h"
#include "pnUtTime.h"
#include <openssl/md5.h> #include <openssl/md5.h>
#include <openssl/sha.h> #include <openssl/sha.h>
@ -360,13 +362,13 @@ void CryptHashPasswordChallenge (
const ShaDigest & namePassHash, const ShaDigest & namePassHash,
ShaDigest * challengeHash ShaDigest * challengeHash
) { ) {
#include <pshpack1.h> #pragma pack(push, 1)
struct { struct {
uint32_t clientChallenge; uint32_t clientChallenge;
uint32_t serverChallenge; uint32_t serverChallenge;
ShaDigest namePassHash; ShaDigest namePassHash;
} buffer; } buffer;
#include <poppack.h> #pragma pack(pop)
buffer.clientChallenge = clientChallenge; buffer.clientChallenge = clientChallenge;
buffer.serverChallenge = serverChallenge; buffer.serverChallenge = serverChallenge;
buffer.namePassHash = namePassHash; buffer.namePassHash = namePassHash;

7
Sources/Plasma/NucleusLib/pnUtils/pnUtSync.h

@ -104,9 +104,9 @@ public:
#ifdef HS_BUILD_FOR_WIN32 #ifdef HS_BUILD_FOR_WIN32
typedef HANDLE EventHandle; typedef HANDLE EventHandle;
#else //#else
# error "CEvent: Not implemented on this platform" //# error "CEvent: Not implemented on this platform"
#endif //#endif
const unsigned kEventWaitForever = (unsigned)-1; const unsigned kEventWaitForever = (unsigned)-1;
@ -130,5 +130,6 @@ public:
const EventHandle & Handle () const { return m_handle; } const EventHandle & Handle () const { return m_handle; }
}; };
#endif // HS_BUILD_FOR_WIN32
#endif #endif

2
Sources/Plasma/NucleusLib/pnUtils/pnUtUuid.cpp

@ -46,6 +46,8 @@ You can contact Cyan Worlds, Inc. by email legal@cyan.com
***/ ***/
#include "pnUtUuid.h" #include "pnUtUuid.h"
#include "pnUtHash.h"
#include "pnUtStr.h"
const Uuid kNilGuid; const Uuid kNilGuid;

4
Sources/Plasma/NucleusLib/pnUtils/pnUtUuid.h

@ -95,7 +95,7 @@ bool GuidFromHex (const uint8_t buf[], unsigned length, Uuid * uuid);
* *
***/ ***/
#include <pshpack1.h> #pragma pack(push, 1)
struct Uuid { struct Uuid {
union { union {
uint32_t uint32_ts[4]; uint32_t uint32_ts[4];
@ -113,6 +113,6 @@ struct Uuid {
inline bool operator != (const Uuid & rhs) const { return !GuidsAreEqual(*this, rhs); } inline bool operator != (const Uuid & rhs) const { return !GuidsAreEqual(*this, rhs); }
inline bool operator != (int rhs) const { ASSERT(!rhs); return !GuidsAreEqual(*this, kNilGuid); } inline bool operator != (int rhs) const { ASSERT(!rhs); return !GuidsAreEqual(*this, kNilGuid); }
}; };
#include <poppack.h> #pragma pack(pop)
#endif #endif

Loading…
Cancel
Save