Project restructuring (fixes macOS builds) (#198)
- Create `Include/` folder for all main projects - Fix some issues here and there (found while moving things) - All includes are now in `Tactility/` subfolder and must be included with that prefix. This fixes issues with clashing POSIX headers (e.g. `<semaphore.h>` versus Tactility's `Semaphore.h`)
This commit is contained in:
committed by
GitHub
parent
7856827ecf
commit
c87200a80d
@@ -0,0 +1,41 @@
|
||||
#pragma once
|
||||
|
||||
#include "Tactility/app/AppManifest.h"
|
||||
|
||||
#include <Tactility/hal/Configuration.h>
|
||||
#include <Tactility/service/ServiceManifest.h>
|
||||
#include <Tactility/TactilityConfig.h>
|
||||
|
||||
namespace tt {
|
||||
|
||||
namespace app::launcher { extern const app::AppManifest manifest; }
|
||||
|
||||
/** @brief The configuration for the operating system
|
||||
* It contains the hardware configuration, apps and services
|
||||
*/
|
||||
struct Configuration {
|
||||
/** HAL configuration (drivers) */
|
||||
const hal::Configuration* hardware = nullptr;
|
||||
/** List of user applications */
|
||||
const std::vector<const app::AppManifest*> apps = {};
|
||||
/** List of user services */
|
||||
const std::vector<const service::ServiceManifest*> services = {};
|
||||
/** Optional app to start automatically after the splash screen. */
|
||||
const std::string launcherAppId = app::launcher::manifest.id;
|
||||
/** Optional app to start automatically after the splash screen. */
|
||||
const std::string autoStartAppId = {};
|
||||
};
|
||||
|
||||
/**
|
||||
* Attempts to initialize Tactility and all configured hardware.
|
||||
* @param[in] config
|
||||
*/
|
||||
void run(const Configuration& config);
|
||||
|
||||
/**
|
||||
* While technically nullable, this instance is always set if tt_init() succeeds.
|
||||
* @return the Configuration instance that was passed on to tt_init() if init is successful
|
||||
*/
|
||||
const Configuration* _Nullable getConfiguration();
|
||||
|
||||
} // namespace
|
||||
Reference in New Issue
Block a user