C++ class wrapper for the fiftyoneDegreesConfigBase configuration structure.
Definition ConfigBase.hpp:61
The Date class wraps the C fiftyoneDegreesDate structure and is used to represent dates in engines.
Definition Date.hpp:49
static vector< string > readKeys(const std::function< size_t(char *, size_t, const char *)> &write)
Gets the evidence keys that a C function writes as one string with a separator between them.
virtual void appendString(stringstream &stream, fiftyoneDegreesCollection *strings, uint32_t offset) const
Gets a string from a strings collection, and appends to a stream.
EngineBase(ConfigBase *config, RequiredPropertiesConfig *properties)
Construct a new instance of the engine class with the configuration and properties provided.
virtual void appendValue(stringstream &stream, fiftyoneDegreesCollection *strings, uint32_t offset, fiftyoneDegreesPropertyValueType storedValueType) const
Gets a string from a strings collection, and appends to a stream.
const vector< string > * getKeys() const
Get the list of keys which the engine accepts as evidence.
virtual string getDataFileTempPath() const =0
Get the path to the temporary data file created by the engine, or an empty string if one was not crea...
virtual string getDataFilePath() const =0
Get the path to the data file the current data set was initialised from.
std::mutex keysMutex
Guards keyLists.
Definition EngineBase.hpp:302
vector< string > getRequiredProperties() const
Get the names of the required properties in required property index order, so position i in the vecto...
void setLicenseKey(const string &licenseKey)
Sets the license key to be used when updating the data set.
RequiredPropertiesConfig * requiredProperties
Pointer to the properties which are going to be used.
Definition EngineBase.hpp:279
virtual void refreshData(const char *fileName) const =0
Refresh the data set from the file location provided.
ConfigBase * config
Pointer to the configuration used to build the engine.
Definition EngineBase.hpp:268
virtual Date getPublishedTime() const =0
Get the date at which the current data set was published.
bool getAutomaticUpdatesEnabled() const
Gets whether or not automatic updates are enabled.
vector< std::unique_ptr< const vector< string > > > keyLists
Every list of evidence keys the engine has had, the last being current.
Definition EngineBase.hpp:299
MetaData * metaData
Pointer to the meta data relating to the contents of the engine's data set.
Definition EngineBase.hpp:283
virtual void refreshData(unsigned char data[], fiftyoneDegreesFileOffset length) const =0
Refresh the data set from the memory location provided.
bool getIsThreadSafe() const
Get whether or not the engine was compiled with thread-safe support.
void setKeys(vector< string > &&newKeys) const
Makes a list the engine's evidence keys unless it is the same as the current list.
virtual string getType() const =0
Get the tier of the data set being used e.g.
virtual Date getUpdateAvailableTime() const =0
Get the date at which a new data file will be available to download from the URL returned by getDataU...
string updateUrl
URL used to update the data set.
Definition EngineBase.hpp:289
MetaData * getMetaData() const
Return the a pointer to the meta data class which contains meta data for the properties,...
virtual string getDataUpdateUrl() const
Get the URL to be used when updating the data file, or an empty string if this is not set.
virtual void refreshData(void *data, fiftyoneDegreesFileOffset length) const =0
Refresh the data set from the memory location provided.
shared_ptr< fiftyoneDegreesResourceManager > manager
A shared pointer to the manager is passed around and referenced by all instances that hold open a res...
Definition EngineBase.hpp:276
string licenceKey
License key used to update the data set.
Definition EngineBase.hpp:286
string defaultDataKey
The default key to use when adding the results to a dictionary.
Definition EngineBase.hpp:292
virtual void refreshData() const =0
Refresh the data set from the original file location.
virtual string getProduct() const =0
Get the name of the data set being used e.g.
void setDataUpdateUrl(const string &updateUrl)
Sets the URL to be used when updating the data set.
virtual ~EngineBase()
Frees the meta data class and the data set resource created by the extending class.
virtual ResultsBase * processBase(EvidenceBase *evidence) const =0
Processes the evidence provided and returns the result.
Base evidence class containing evidence to be processed by an engine.
Definition EvidenceBase.hpp:68
Contains meta data for the properties, values, profiles and components that exist within the engine i...
Definition MetaData.hpp:71
C++ class wrapper for the fiftyoneDegreesPropertiesRequired structure.
Definition RequiredPropertiesConfig.hpp:59
Encapsulates the results of an engine's processing.
Definition ResultsBase.hpp:99
long fiftyoneDegreesFileOffset
Type for file offset in API.
Definition fileOffset.h:73
A C++ wrapper class for transform.h conversion routines.
Definition ComponentMetaDataBuilderHash.hpp:33
Definition GettingStarted.c:67
All the shared methods and fields required by file, memory and cached collections.
Definition collection.h:410
