Dobby  3.0
Dobby “Docker based Thingy” is a tool for managing and running OCI containers using crun
Public Member Functions | Private Attributes | List of all members
LocalTimePlugin Class Reference

Dobby LocalTime plugin. More...

#include <LocalTimePlugin.h>

Inheritance diagram for LocalTimePlugin:
Inheritance graph
[legend]
Collaboration diagram for LocalTimePlugin:
Collaboration graph
[legend]

Public Member Functions

 LocalTimePlugin (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
 postInstallation OCI hook. More...
 
bool preCreation () override
 postInstallation OCI hook. More...
 
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 createRuntime ()
 
virtual bool createContainer ()
 
virtual bool postStart ()
 
virtual bool postHalt ()
 
virtual bool postStop ()
 

Private Attributes

const std::string mName
 
const std::string mRootfsPath
 
std::shared_ptr< rt_dobby_schema > mContainerConfig
 
const std::shared_ptr< DobbyRdkPluginUtilsmUtils
 

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

Detailed Description

Dobby LocalTime plugin.

This plugin simply creates a symlink to the real /etc/localtime file in the rootfs of the container.

Member Function Documentation

◆ getDependencies()

std::vector< std::string > LocalTimePlugin::getDependencies ( ) const
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.

Returns
Names of the plugins this plugin depends on.

Reimplemented from RdkPluginBase.

◆ hookHints()

unsigned LocalTimePlugin::hookHints ( ) const
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

Returns
bitmask of the HintFlags bits.

Implements IDobbyRdkPlugin.

◆ name()

std::string LocalTimePlugin::name ( ) const
inlineoverridevirtual

Should return the name of the plugin.

Returns
string with the name of the hook.

Implements IDobbyRdkPlugin.

◆ postInstallation()

bool LocalTimePlugin::postInstallation ( )
overridevirtual

postInstallation OCI hook.

All we need to do create symlink in the container rootfs to the real time zone file - matching the /etc/localtime entry outside the container.

Returns
true on success, false on failure.

Reimplemented from RdkPluginBase.

◆ preCreation()

bool LocalTimePlugin::preCreation ( )
overridevirtual

postInstallation OCI hook.

If set_tz parameter is set then its value should be a path to file. Read this file and put its contents into containers TZ env var.

Returns
true on success, false on failure.

Reimplemented from RdkPluginBase.


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