Dobby  3.0
Dobby “Docker based Thingy” is a tool for managing and running OCI containers using crun
Public Types | Public Member Functions | List of all members
IDobbyRdkPlugin Class Referenceabstract

Interface that plugin libraries have to implement. More...

#include <IDobbyRdkPlugin.h>

Inheritance diagram for IDobbyRdkPlugin:
Inheritance graph
[legend]

Public Types

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...
 

Public Member Functions

virtual std::string name () const =0
 Should return the name of the plugin. More...
 
virtual unsigned hookHints () const =0
 Should return a bitfield of the hook points implemented by the plugin. More...
 
virtual bool postInstallation ()=0
 
virtual bool preCreation ()=0
 
virtual bool createRuntime ()=0
 
virtual bool createContainer ()=0
 
virtual bool postStart ()=0
 
virtual bool postHalt ()=0
 
virtual bool postStop ()=0
 
virtual std::vector< std::string > getDependencies () const =0
 Should return the names of the plugins this plugin depends on. More...
 

Detailed Description

Interface that plugin libraries have to implement.

Member Enumeration Documentation

◆ HintFlags

enum IDobbyRdkPlugin::HintFlags : unsigned

Bit flags that should be returned by hookHints.

The flags are fairly self explanatory.

Member Function Documentation

◆ getDependencies()

virtual std::vector<std::string> IDobbyRdkPlugin::getDependencies ( ) const
pure virtual

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.

Returns
Names of the plugins this plugin depends on.

Implemented in ThunderPlugin, TestRdkPlugin, Storage, RtSchedulingPlugin, OOMCrash, NetworkingPlugin, Minidump, LoggingPlugin, LocalTimePlugin, IpcPlugin, HttpProxyPlugin, GpuPlugin, GamepadPlugin, DeviceMapperPlugin, RdkPluginBase, DobbyLoggerBase, and AppServicesRdkPlugin.

◆ hookHints()

virtual unsigned IDobbyRdkPlugin::hookHints ( ) const
pure virtual

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

Returns
bitmask of the HintFlags bits.

Implemented in TestRdkPlugin, Storage, RtSchedulingPlugin, OOMCrash, NetworkingPlugin, Minidump, LoggingPlugin, LocalTimePlugin, IpcPlugin, IonMemoryPlugin, HttpProxyPlugin, GpuPlugin, GamepadPlugin, DeviceMapperPlugin, AppServicesRdkPlugin, and ThunderPlugin.

◆ name()

virtual std::string IDobbyRdkPlugin::name ( ) const
pure virtual

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