MFMv2.0.10
Movable Feast Machine Simulator 2.0.10
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions
MFM::UUID Class Reference

#include <UUID.h>

Inheritance diagram for MFM::UUID:
MFM::ByteSerializable

Public Member Functions

 UUID (const char *label, const u32 apiVersion, const u32 decDate, const u32 decTime, const u32 configCode)
 
 UUID (ByteSource &bs)
 
const char * GetLabel () const
 
u32 GetVersion () const
 
u32 GetHexDate () const
 
u32 GetHexTime () const
 
u32 GetConfigurationCode () const
 
bool CompatibleConfigurationCode (const UUID &other) const
 
bool CompatibleLabel (const UUID &other) const
 
bool CompatibleAPIVersion (const UUID &other) const
 
bool CompatibleButStrictlyNewer (const UUID &other) const
 
bool Compatible (const UUID &other) const
 
void Print (ByteSink &bs) const
 
Result PrintTo (ByteSink &bs, s32 argument=0)
 
bool Read (ByteSource &bs)
 
Result ReadFrom (ByteSource &bs, s32 argument=0)
 
bool Equals (const UUID &other) const
 
bool operator== (const UUID &other) const
 
bool operator!= (const UUID &other) const
 

Static Public Member Functions

template<class CC >
static u32 ComputeConfigurationCode ()
 
static bool LegalLabel (const char *label)
 
static bool LegalFilename (const char *label)
 

Additional Inherited Members

- Public Types inherited from MFM::ByteSerializable
enum  Result { UNSUPPORTED = -1, FAILURE = 0, SUCCESS = 1 }
 

Detailed Description

A class representing a 'Universal Unique ID' for an Element. A UUID is meant to be a 'fingerprint' of an Element.

Member Function Documentation

static bool MFM::UUID::LegalLabel ( const char *  label)
inlinestatic

Is label a legally-formatted label for an Element? This includes just the name, not the additional info following the '-'.

Result MFM::UUID::PrintTo ( ByteSink byteSink,
s32  argument = 0 
)
inlinevirtual

Print a representation of this ByteSerializble to the given byteSink, with its details possibly modified by argument. The meaning of argument is unspecified except that 0 should be interpreted as a request for default, 'no modification', formatting.

Returns
UNSUPPORTED if this object doesn't support printing itself, or SUCCESS if the printing was successful and FAIL if there was any problem.

Implements MFM::ByteSerializable.

Result MFM::UUID::ReadFrom ( ByteSource byteSource,
s32  argument = 0 
)
inlinevirtual

Modify this object by reading a representation of a ByteSerializable from the given byteSource, with its details possibly modified by argument. The meaning of argument is unspecified except that 0 should be interpreted as a request for default, 'no modification', interpretation.

Returns
UNSUPPORTED if this object doesn't support reading itself, or SUCCESS if the reading was successful and FAIL if there was any problem.

Implements MFM::ByteSerializable.


The documentation for this class was generated from the following files: