Liveness Engine SDK
Liveness detection engine.
LivenessEngine.h
Go to the documentation of this file.
1 
8 #pragma once
9 
15 #include <fsdk/FaceEngine.h>
16 #include "ILiveness.h"
17 
18 namespace lsdk {
19 
20 #ifndef DECLARE_SMARTPTR
21  #ifndef DOXYGEN_SHOULD_SKIP_THIS
22  #define DECLARE_SMARTPTR(X) typedef fsdk::Ref<X> X##Ptr
23  #endif
24 #endif
25 
26 #ifndef DOXYGEN_SHOULD_SKIP_THIS
27  DECLARE_SMARTPTR(ILiveness);
28  DECLARE_SMARTPTR(IComplexLiveness);
29 #endif
30 
39  struct ILivenessEngine: fsdk::IRefCounted {
40 
58  virtual fsdk::ResultValue<fsdk::FSDKError, fsdk::Ref<ILiveness>> createLiveness(LivenessAlgorithmType type) noexcept = 0;
59 
66  virtual fsdk::ResultValue<fsdk::FSDKError, fsdk::Ref<IUnifiedLiveness>> createUnifiedLiveness(LivenessAlgorithmType type) noexcept = 0;
67 
76  virtual fsdk::ResultValue<fsdk::FSDKError, fsdk::Ref<IComplexLiveness>> createComplexLiveness(ComplexLivenessAlgorithmType type) noexcept = 0;
77 
82  virtual void setSettingsProvider(fsdk::ISettingsProvider* provider) noexcept = 0;
83 
88  virtual fsdk::ISettingsProvider* getSettingsProvider() const noexcept = 0;
89 
94  virtual void setDataDirectory(const char* path) noexcept = 0;
95 
101  virtual const char* getDataDirectory() const noexcept = 0;
102 
103  };
104 
105 #ifndef DOXYGEN_SHOULD_SKIP_THIS
106  DECLARE_SMARTPTR(ILivenessEngine);
107 #endif
108 
116  FSDK_API fsdk::ResultValue<fsdk::FSDKError, lsdk::ILivenessEnginePtr>
117  createLivenessEngine(fsdk::Ref<fsdk::IFaceEngine> FaceEngine, const char* path = nullptr) noexcept;
118 
120 }
ComplexLivenessAlgorithmType
Complex liveness algorithm type enumeration.
Definition: ILiveness.h:40
virtual fsdk::ResultValue< fsdk::FSDKError, fsdk::Ref< IComplexLiveness > > createComplexLiveness(ComplexLivenessAlgorithmType type) noexcept=0
Creates a complex livenes of given type.
Definition: ILiveness.h:12
LivenessAlgorithmType
Simple liveness algorithm type enumeration.
Definition: ILiveness.h:23
virtual void setSettingsProvider(fsdk::ISettingsProvider *provider) noexcept=0
Sets settings provider.
FSDK_API fsdk::ResultValue< fsdk::FSDKError, lsdk::ILivenessEnginePtr > createLivenessEngine(fsdk::Ref< fsdk::IFaceEngine > FaceEngine, const char *path=nullptr) noexcept
Create the Liveness SDK root object.
virtual void setDataDirectory(const char *path) noexcept=0
Sets data directory.
Root Liveness SDK object interface.
Definition: LivenessEngine.h:39
virtual const char * getDataDirectory() const noexcept=0
Gets data directory.
Liveness detection and analysis interfaces.
virtual fsdk::ISettingsProvider * getSettingsProvider() const noexcept=0
Gets settings provider.
virtual fsdk::ResultValue< fsdk::FSDKError, fsdk::Ref< IUnifiedLiveness > > createUnifiedLiveness(LivenessAlgorithmType type) noexcept=0
Creates a unified liveness which performs all possible calculations and tracks value from given type...
virtual fsdk::ResultValue< fsdk::FSDKError, fsdk::Ref< ILiveness > > createLiveness(LivenessAlgorithmType type) noexcept=0
Creates a simple livenes of given type.