20 #include <nlohmann/json.hpp> 97 return ( appType & static_cast<unsigned int>( typeToCheck ) ) != 0u;
107 return std::to_string( majorVersion ) +
"." + std::to_string( minorVersion ) +
"." + std::to_string( patchVersion );
110 static nlohmann::json jsonSchema();
113 void to_json( nlohmann::json& jsonValue,
const AppInfo& appInfo );
114 void from_json(
const nlohmann::json& jsonValue,
AppInfo& appInfo );
123 virtual std::string
name()
const = 0;
134 static void registerInstance(
Application* instance );
141 unsigned int m_capabilities;
AppCapability
Application capability Defines what type of application it is. These flags can be combined...
Definition: cafApplication.h:46
int patchVersion
Patch version number.
Definition: cafApplication.h:71
int majorVersion
Major version number.
Definition: cafApplication.h:61
std::string name
The name of the application.
Definition: cafApplication.h:56
bool hasCapability(AppCapability typeToCheck) const
Check if the application has the specified capability.
Definition: cafApplication.h:95
Definition: cafApplication.h:116
Basic Application Information.
Definition: cafApplication.h:38
std::string contactEmail
Contact email.
Definition: cafApplication.h:86
unsigned int appType
Application type. Can be CONSOLE, SERVER, CLIENT, GUI.
Definition: cafApplication.h:76
int minorVersion
Minor version number.
Definition: cafApplication.h:66
std::string description
Application description.
Definition: cafApplication.h:81
Definition: cafDocument.h:35
Main Caffa namespace.
Definition: cafApplication.h:30
std::string version_string() const
Construct a full X.Y.Z version string with major, minor and patch version.
Definition: cafApplication.h:105