#ifndef H_CORAL_ATOM
#define H_CORAL_ATOM
// This file is part of the Coral project.
// Please read the copyright notice in the LICENSE file.

#include <coral/coral.h>
#include <coral/lib/helper_uuid.h>
#include <string>

namespace coral {

     class DCE_UUID {
     public:
	  DCE_UUID();
	  virtual ~DCE_UUID() throw ();
	  const coral::uuid_t& __XMIid__() const;
	  void __setXMIid__(const std::string& newID);
	  void __resetXMIid__() throw ();
#ifndef SWIG
	  /* Used only by the TransactionManager, and ModelCopy */
	  void swapXMIid(std::string& newID) throw ();
#endif
     private:
	  mutable uuid_t uniqueID;
     };

}

#endif

