Dobby
3.0
Dobby “Docker based Thingy” is a tool for managing and running OCI containers using crun
|
#include <GamepadPlugin.h>
Public Member Functions | |
GamepadPlugin (std::shared_ptr< rt_dobby_schema > &containerConfig, const std::shared_ptr< DobbyRdkPluginUtils > &utils, const std::string &rootfsPath) | |
std::string | name () const override |
Should return the name of the plugin. More... | |
unsigned | hookHints () const override |
Should return a bitfield of the hook points implemented by the plugin. More... | |
bool | postInstallation () override |
Dobby Hook - run in host namespace once when container bundle is downloaded. | |
std::vector< std::string > | getDependencies () const override |
Should return the names of the plugins this plugin depends on. More... | |
Public Member Functions inherited from RdkPluginBase | |
virtual bool | preCreation () |
virtual bool | createRuntime () |
virtual bool | createContainer () |
virtual bool | postStart () |
virtual bool | postHalt () |
virtual bool | postStop () |
Private Member Functions | |
void | addDevices (int64_t major, int64_t minor, int numDevices, const std::string &type, const std::string &mode) const |
Adds devices to containe_config->linux->resources->devices. More... | |
void | addGidMapping (gid_t host_id, gid_t container_id) const |
Adds gid mapping to container_config->linux->gid_mappings. More... | |
void | addAdditionalGid (gid_t gid) const |
Adds additionalGid to container_config->process->user->additional_gids. More... | |
gid_t | getInputGroupId () const |
Finds input group id in /etc/group file. More... | |
Private Attributes | |
const std::string | mName |
std::shared_ptr< rt_dobby_schema > | mContainerConfig |
const std::shared_ptr< DobbyRdkPluginUtils > | mUtils |
Additional Inherited Members | |
Public Types inherited from IDobbyRdkPlugin | |
enum | HintFlags : unsigned { PostInstallationFlag = (1 << 0) , PreCreationFlag = (1 << 1) , CreateRuntimeFlag = (1 << 2) , CreateContainerFlag = (1 << 3) , PostStartFlag = (1 << 5) , PostHaltFlag = (1 << 6) , PostStopFlag = (1 << 7) , Unknown = 0 } |
Bit flags that should be returned by hookHints. More... | |
Dobby Gamepad plugin.
|
private |
Adds additionalGid to container_config->process->user->additional_gids.
[in] | gid | group id to be added |
|
private |
Adds devices to containe_config->linux->resources->devices.
Multiple devices can be added. All devices will have major number equal to major param. Minor numbers are in range [minor .. minor + numDevices - 1].
[in] | major | major number of the devices that will be added |
[in] | minor | starting minor number of the devices |
[in] | numDevices | number of devices that will be added |
[in] | type | character ("c") of block ("b") |
[in] | mode | access mode |
|
private |
Adds gid mapping to container_config->linux->gid_mappings.
[in] | host_id | host group id to be added to the mapping |
[in] | container_id | container group id to be added to the mapping |
|
overridevirtual |
Should return the names of the plugins this plugin depends on.
This can be used to determine the order in which the plugins should be processed when running hooks.
Reimplemented from RdkPluginBase.
|
private |
Finds input group id in /etc/group file.
Each line in /etc/group contains "group_name:password:group_id:group_list". Finds the line starting with 'input', then finds the group_id in that line.
|
overridevirtual |
Should return a bitfield of the hook points implemented by the plugin.
Only bits that are set will be called as hooks. This is to optimise the implementation of the hook code to ensure we don't waste time trying to run hooks that don't do anything
The value returned should be constant for the lifetime of the class
Implements IDobbyRdkPlugin.
|
inlineoverridevirtual |
Should return the name of the plugin.
Implements IDobbyRdkPlugin.