#ifndef n_UUID_H
#define n_UUID_H

/*
 *
 * nucleo/core/UUID.H --
 *
 * Copyright (C) Nicolas Roussel
 *
 * See the file LICENSE for information on usage and redistribution of
 * this file, and for a DISCLAIMER OF ALL WARRANTIES.
 *
 */

#include <string>

namespace nucleo {

  class UUID {

  public:

    typedef unsigned char as_bytes[16];

  private:

    as_bytes bytes ;

  public:

    UUID(void) ;

    void getAsBytes(as_bytes out) ;
    std::string getAsString(void) ;

    static void createAsBytes(as_bytes out) {
	 UUID uuid ;
	 uuid.getAsBytes(out) ;
    }

    static std::string createAsString(void) {
	 UUID uuid ;
	 return uuid.getAsString() ;
    }

  } ;

}

#endif
