// ----------------------------------------------------------------------------- /// @file DeviceParameters.c /// @brief Description // ----------------------------------------------------------------------------- // Micro-Key bv // Industrieweg 28, 9804 TG Noordhorn // Postbus 92, 9800 AB Zuidhorn // The Netherlands // Tel: +31 594 503020 // Fax: +31 594 505825 // Email: support@microkey.nl // Web: www.microkey.nl // ----------------------------------------------------------------------------- /// $Revision: $ /// $Author: $ /// $Date: $ // (c) 2017 Micro-Key bv // ----------------------------------------------------------------------------- /// @file DeviceParameters.c /// @ingroup {group_name} // ----------------------------------------------------------------------------- // Include files // ----------------------------------------------------------------------------- #include "DeviceParameters.h" // ----------------------------------------------------------------------------- // Constant and macro definitions // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- // Type definitions // ----------------------------------------------------------------------------- struct DeviceParameters { bool initialized; struct CachedStorage* parametersStorage; struct MemoryDevice* memoryDevice; }; struct PIDParametersStorageClass { uint32_t crc; struct PIDParameters pidParameters; }; struct PINStorageClass { uint32_t crc; struct PIN pin; }; // ----------------------------------------------------------------------------- // File-scope variables // ----------------------------------------------------------------------------- static struct DeviceParameters _self = {.initialized = false}; struct DeviceParameters* const self = &_self; // ----------------------------------------------------------------------------- // Function declarations // ----------------------------------------------------------------------------- // ----------------------------------------------------------------------------- // Function definitions // ----------------------------------------------------------------------------- ErrorStatus DeviceParameters_construct(struct CachedStorage* parametersStorage, struct MemoryDevice* memoryDevice) { ErrorStatus returnValue = SUCCESS; if (!self->initialized) { if (returnValue == SUCCESS) { if (parametersStorage != NULL) { self->parametersStorage = parametersStorage; } else { returnValue = ERROR; } } if (returnValue == SUCCESS) { if (memoryDevice != NULL) { if (memoryDevice->initialized) { self->memoryDevice = memoryDevice; } else { returnValue = ERROR; } } else { returnValue = ERROR; } } self->initialized = true; } else { returnValue = ERROR; } return returnValue; } void DeviceParameters_destruct(void) { } struct PIDParameters* DeviceParameters_getPIDParameters(void) { } struct PIN* DeviceParameters_getPIN(void) { }