Right now the ComputerUUID class is a stub that simply hashes the computer's hostname and a few other optional things. This class needs to be enhanced to support the following features:
-
Generate a UUID for a computer. This ID should be the same each time it is generated on the same computer.
-
The class should accept an arbitrary string that is factored into the generation of the UUID. A sample use-case for this would be when you have two instances of the same program running on the same computer, but perhaps they have two different configuration files. In this case, each instance could have distinct UUIDs the same each time an instance is run. This is the setCustomData() method in the stub implementation.
-
The class should have a setting such that a new UUID is generated each time the program is ran, but the UUID should be the same within the same process. This is naively (and incorrectly) implemented with the setUniquePerProcess() method.
Right now the
ComputerUUIDclass is a stub that simply hashes the computer's hostname and a few other optional things. This class needs to be enhanced to support the following features:Generate a UUID for a computer. This ID should be the same each time it is generated on the same computer.
The class should accept an arbitrary string that is factored into the generation of the UUID. A sample use-case for this would be when you have two instances of the same program running on the same computer, but perhaps they have two different configuration files. In this case, each instance could have distinct UUIDs the same each time an instance is run. This is the
setCustomData()method in the stub implementation.The class should have a setting such that a new UUID is generated each time the program is ran, but the UUID should be the same within the same process. This is naively (and incorrectly) implemented with the
setUniquePerProcess()method.