| Face Engine SDK 4.7.0 A face detection, recognition and tracking engine.

Classes | Public Types | Public Member Functions | List of all members
fsdk::ISettingsProvider Struct Referenceabstract
SDK core interfaces

SDK settings provider interface. More...

`#include <ISettingsProvider.h>`

Inheritance diagram for fsdk::ISettingsProvider:

## Classes
struct | Desc
| Configuration parameter description. More...
struct | Entry
| Configuration parameter entry. More...
struct | Key
| Configuration parameter key. More...
struct | Value
| Configuration parameter value. More...

## Public Types
enum | Error : uint32_t { Error::Ok, Error::IOError, Error::Memory, Error::Internal, Error::InvalidPi, Error::InvalidTag, Error::InvalidCdata, Error::FileNotFound, Error::InvalidPcdata, Error::InvalidDocType, Error::InvalidSettings, Error::InvalidComment, Error::InvalidAttribute, Error::InvalidEndElement, Error::AppendInvalidRoot, Error::NoDocumentElement, Error::EndElementMismatch, Error::InvalidStartElement, Error::MemoryAllocationFailed }
| Config parsing error codes. More...

## Public Member Functions
virtual const char * | getDefaultPath () const noexcept=0
| Get settings path this provider is bound to. More...
virtual Result< Error > | load (const char *path) noexcept=0
| Load settings from given path. More...
virtual bool | save (const char *path) const noexcept=0
| Save settings values using the default path. More...
virtual void | clear () noexcept=0
| Clear settings. More...
virtual bool | isEmpty () const noexcept=0
virtual void | setDesc (const Key &key, const Desc &desc) noexcept=0
| Set parameter description. More...
void | setDesc (const char *section, const char *parameter, const Desc &desc) noexcept
| Set parameter description. More...
virtual void | setValue (const Key &key, Value &&value) noexcept=0
| Set parameter value. More...
void | setValue (const char *section, const char *parameter, Value &&value) noexcept
| Set parameter value. More...
virtual void | setEntry (const Key &key, Entry &&entry) noexcept=0
| Set parameter. More...
void | setEntry (const Key &key, const Desc &desc, Value &&value) noexcept
| Set parameter. More...
void | setEntry (const char *section, const char *parameter, const Desc &desc, Value &&value) noexcept
| Set parameter. More...
virtual const Entry & | getEntry (const Key &key) const noexcept=0
| Find parameter entry. More...
Desc | getDesc (const Key &key) const noexcept
| Get parameter description. More...
Desc | getDesc (const char *section, const char *parameter) const noexcept
| Get parameter description. More...
const Value & | getValue (const Key &key) const noexcept
| Get parameter value. More...
const Value & | getValue (const char *section, const char *parameter) const noexcept
| Get parameter value. More...
Public Member Functions inherited from fsdk::IRefCounted
virtual int32_t | retain () noexcept=0
| Increase strong reference count. More...
virtual int32_t | release () noexcept=0
| Decrease strong reference count. More...
virtual int32_t | getRefCount () const noexcept=0
| Get actual strong reference count. More...
virtual int32_t | retainWeak () noexcept=0
| Increase weak reference count. More...
virtual int32_t | releaseWeak () noexcept=0
| Decrease weak reference count. More...
virtual int32_t | getWeakRefCount () const noexcept=0
| Get actual weak reference count. More...

## Detailed Description

SDK settings provider interface.

Takes care of loading and parsing of SDK configuration files.

## Member Enumeration Documentation

## ◆ Error

enum fsdk::ISettingsProvider::Error : uint32_t
| strong

Config parsing error codes.

Enumerator
Ok | No error.
IOError | Error reading from file/stream.
Memory | Could not allocate memory.
Internal | Internal error occurred.
InvalidPi | Parsing error occurred while parsing document declaration/processing instruction.
InvalidTag | Parser could not determine tag type.
InvalidCdata | Parsing error occurred while parsing CDATA section.
FileNotFound | File was not found during load_file()
InvalidPcdata | Parsing error occurred while parsing PCDATA section.
InvalidDocType | Parsing error occurred while parsing document type declaration.
InvalidSettings | Settings section is invalid or absent.
InvalidComment | Parsing error occurred while parsing comment.
InvalidAttribute | Parsing error occurred while parsing element attribute.
InvalidEndElement | Parsing error occurred while parsing end element tag.
AppendInvalidRoot | Unable to append nodes since root type is not node_element or node_document (exclusive to xml_node::append_buffer)
NoDocumentElement | Parsing resulted in a document without element nodes.
EndElementMismatch | There was a mismatch of start-end tags (closing tag had incorrect name, some tag was not closed or there was an excessive closing tag)
InvalidStartElement | Parsing error occurred while parsing start element tag.
MemoryAllocationFailed | memory allocation failed for internal data

## Member Function Documentation

## ◆ clear()

virtual void fsdk::ISettingsProvider::clear | ( |  | ) |
| pure virtual noexcept

Clear settings.

Returns
  true if succeded, false otherwise.

## ◆ getDefaultPath()

virtual const char* fsdk::ISettingsProvider::getDefaultPath | ( |  | ) | const
| pure virtual noexcept

Get settings path this provider is bound to.

This is the same path that was given to load().

Returns
  path string.

## ◆ getDesc() [1/2]

Desc fsdk::ISettingsProvider::getDesc | ( | const Key & | key | ) | const
| inline noexcept

Get parameter description.

Lookup parameter by key. Return empty description if the parameters does not exist.

Parameters

  key | parameter key.

Returns
  parameter description.

## ◆ getDesc() [2/2]

Desc fsdk::ISettingsProvider::getDesc | ( | const char * | section,
|  | const char * | parameter
| ) |  | const
| inline noexcept

Get parameter description.

Lookup parameter by key. Return empty description if the parameters does not exist.

Parameters

  section | parameter section.
  parameter | parameter name.

Returns
  parameter description.

## ◆ getEntry()

virtual const Entry& fsdk::ISettingsProvider::getEntry | ( | const Key & | key | ) | const
| pure virtual noexcept

Find parameter entry.

Lookup parameter by key. Return empty entry if the parameters does not exist.

Parameters

  key | parameter key.

Returns
  parameter entry.

## ◆ getValue() [1/2]

const Value& fsdk::ISettingsProvider::getValue | ( | const Key & | key | ) | const
| inline noexcept

Get parameter value.

Lookup parameter by key. Return empty value if the parameters does not exist.

Parameters

  key | parameter key.

Returns
  parameter value.

## ◆ getValue() [2/2]

const Value& fsdk::ISettingsProvider::getValue | ( | const char * | section,
|  | const char * | parameter
| ) |  | const
| inline noexcept

Get parameter value.

Lookup parameter by key. Return empty value if the parameters does not exist.

Parameters

  section | parameter section.
  parameter | parameter name.

Returns
  parameter value.

## ◆ isEmpty()

virtual bool fsdk::ISettingsProvider::isEmpty | ( |  | ) | const
| pure virtual noexcept

Check if there are loaded settings.

Returns
  true if provider is empty.

## ◆ load()

virtual Result<Error> fsdk::ISettingsProvider::load | ( | const char * | path | ) |
| pure virtual noexcept

Load settings from given path.

if `path` is null, load from the default path;

See also
  getDefaultPath().

Returns
  Result with error code specified by ISettingsProvider::ParseError.

See also
  Result and ISettingsProvider::ParseError.

## ◆ save()

virtual bool fsdk::ISettingsProvider::save | ( | const char * | path | ) | const
| pure virtual noexcept

Save settings values using the default path.

path may be null, in this case a path from getDefaultPath() will be used.

Returns
  true if succeded, false otherwise.

## ◆ setDesc() [1/2]

virtual void fsdk::ISettingsProvider::setDesc | ( | const Key & | key,
|  | const Desc & | desc
| ) |  |
| pure virtual noexcept

Set parameter description.

Lookup parameter by key. Creates a parameter if it does not already exist.

Parameters

  key | parameter key.
  desc | parameter description.

## ◆ setDesc() [2/2]

void fsdk::ISettingsProvider::setDesc | ( | const char * | section,
|  | const char * | parameter,
|  | const Desc & | desc
| ) |  |
| inline noexcept

Set parameter description.

Lookup parameter by key. Creates a parameter if it does not already exist.

Parameters

  section | parameter section.
  parameter | parameter name.
  desc | parameter description.

## ◆ setEntry() [1/3]

virtual void fsdk::ISettingsProvider::setEntry | ( | const Key & | key,
|  | Entry && | entry
| ) |  |
| pure virtual noexcept

Set parameter.

Lookup parameter by key. Creates a parameter if it does not already exist.

Parameters

  key | parameter key.
  entry | parameter entry.

## ◆ setEntry() [2/3]

void fsdk::ISettingsProvider::setEntry | ( | const Key & | key,
|  | const Desc & | desc,
|  | Value && | value
| ) |  |
| inline noexcept

Set parameter.

Lookup parameter by key. Creates a parameter if it does not already exist.

Parameters

  key | parameter key.
  desc | parameter description.
  value | parameter value.

## ◆ setEntry() [3/3]

void fsdk::ISettingsProvider::setEntry | ( | const char * | section,
|  | const char * | parameter,
|  | const Desc & | desc,
|  | Value && | value
| ) |  |
| inline noexcept

Set parameter.

Lookup parameter by key. Creates a parameter if it does not already exist.

Parameters

  section | parameter section.
  parameter | parameter name.
  desc | parameter description.
  value | parameter value.

## ◆ setValue() [1/2]

virtual void fsdk::ISettingsProvider::setValue | ( | const Key & | key,
|  | Value && | value
| ) |  |
| pure virtual noexcept

Set parameter value.

Lookup parameter by key. Creates a parameter if it does not already exist.

Parameters

  key | parameter key.
  value | parameter value.

## ◆ setValue() [2/2]

void fsdk::ISettingsProvider::setValue | ( | const char * | section,
|  | const char * | parameter,
|  | Value && | value
| ) |  |
| inline noexcept

Set parameter value.

Lookup parameter by key. Creates a parameter if it does not already exist.

Parameters

  section | parameter section.
  parameter | parameter name.
  value | parameter value.

The documentation for this struct was generated from the following file:

- include/fsdk/ISettingsProvider.h