//////////////////////////////////////////////////////////////////////////////
//
//  Copyright (c) 2000 Microsoft Corporation
//
//  Module Name:
//      CUuid.h
//
//  Description:
//      Header file for CUuid class.
//
//      CUuid is a representation of a UUID (universally unique identifier)
//
//  Implementation Files:
//      CUuid.cpp
//
//  Maintained By:
//      Vij Vasu (Vvasu) 03-MAR-2000
//
//////////////////////////////////////////////////////////////////////////////


// Make sure that this file is included only once per compile path.
#pragma once


//////////////////////////////////////////////////////////////////////////
// Include Files
//////////////////////////////////////////////////////////////////////////

// Required by Rpcdce.h
#include "rpc.h"

// For UUID and related functions.
#include <Rpcdce.h>


//////////////////////////////////////////////////////////////////////////////
//++
//
//  class CUuid
//
//  Description:
//      CUuid is a representation of a UUID (universally unique identifier)
//
//--
//////////////////////////////////////////////////////////////////////////////
class CUuid
{
public:

    //////////////////////////////////////////////////////////////////////////
    // Constructors and destructors
    //////////////////////////////////////////////////////////////////////////

    // Default constructor.
    CUuid();

    // Default destructor.
    ~CUuid();


    //////////////////////////////////////////////////////////////////////////
    // Public accessors
    //////////////////////////////////////////////////////////////////////////

    // Get the string that represents this UUID.
    const WCHAR *
        PszGetUuidString() const throw() { return m_pszStringUuid; }

    // Get the UUID of this object.
    const UUID &
        UuidGetUuid() const throw() { return m_uuid; }


private:

    //////////////////////////////////////////////////////////////////////////
    // Private data
    //////////////////////////////////////////////////////////////////////////

    UUID        m_uuid;
    WCHAR *     m_pszStringUuid;

}; //*** class CUuid