1//
2// uuidgen.cpp
3//
4// This sample demonstrates the UUIDGenerator and UUID classes.
5//
6// Copyright (c) 2004-2006, Applied Informatics Software Engineering GmbH.
7// and Contributors.
8//
9// SPDX-License-Identifier: BSL-1.0
10//
11
12
13#include "Poco/UUID.h"
14#include "Poco/UUIDGenerator.h"
15#include "Poco/Exception.h"
16#include <iostream>
17
18
19using Poco::UUID;
20using Poco::UUIDGenerator;
21using Poco::Exception;
22
23
24int main(int argc, char** argv)
25{
26 UUID uuid;
27
28 std::string arg;
29 if (argc > 1)
30 arg = argv[1];
31
32 try
33 {
34 if (arg == "-random")
35 uuid = UUIDGenerator::defaultGenerator().createRandom();
36 else if (arg.empty())
37 uuid = UUIDGenerator::defaultGenerator().create();
38 else
39 uuid = UUIDGenerator::defaultGenerator().createFromName(UUID::uri(), arg);
40
41 std::cout << uuid.toString() << std::endl;
42 }
43 catch (Exception& exc)
44 {
45 std::cerr << exc.displayText() << std::endl;
46 return 1;
47 }
48
49 return 0;
50}
51