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
IDobbyEnv Class Referenceabstract

Interface that exports the environment of the daemon to plugins. More...

#include <IDobbyEnv.h>

Inheritance diagram for IDobbyEnv:
Inheritance graph
[legend]

Public Types

enum class  Cgroup {
  Freezer , Memory , Cpu , CpuAcct ,
  CpuSet , Devices , Gpu , NetCls ,
  Blkio , Ion
}
 

Public Member Functions

virtual std::string workspaceMountPath () const =0
 Returns the absolute AI workspace mount point path. More...
 
virtual std::string flashMountPath () const =0
 Returns the absolute path to the AI area on flash. More...
 
virtual std::string pluginsWorkspacePath () const =0
 Returns the path to directory that plugins can write to. More...
 
virtual uint16_t platformIdent () const =0
 Returns the two byte platform identification number. More...
 
virtual std::string cgroupMountPath (Cgroup cgroup) const =0
 Returns the absolute path to the cgroup mount point for the given cgroup. More...
 

Detailed Description

Interface that exports the environment of the daemon to plugins.

A const instance of this interface is given to plugins when they are installed, it provides some basic information about the location of mount points and the system.

The interface is only expected to contain static values, it is not expected that values returned via getters will change over the lifetime of the object.

Member Function Documentation

◆ cgroupMountPath()

virtual std::string IDobbyEnv::cgroupMountPath ( Cgroup  cgroup) const
pure virtual

Returns the absolute path to the cgroup mount point for the given cgroup.

This is typically "/sys/fs/cgroup/<cgroup>"

Implemented in DobbyEnv.

◆ flashMountPath()

virtual std::string IDobbyEnv::flashMountPath ( ) const
pure virtual

Returns the absolute path to the AI area on flash.

This is the flash mount used to store things like package widget files and any other sort of persistent data.

The path changes depending on the platform, but the following is typical "/mnt/nds/dev_17/part_0/appmanager"

Implemented in DobbyEnv.

◆ platformIdent()

virtual uint16_t IDobbyEnv::platformIdent ( ) const
pure virtual

Returns the two byte platform identification number.

The following list the platforms at time of writing, for a complete list refer to https://www.stb.bskyb.com/confluence/display/SKYQ/Sky+Q+Hardware

32B0  :  Falcon (broadcom 7445)
32B1  :  FalconV2 UK (ST 419 Gateway)
32B2  :  Titan (Broadcom 7278 Gateway)
32C0  :  X-Wing (ST 412 Gateway)
32C1  :  HIP Box (SKYH412 X-Wing)
32D0  :  MR Box (ST 412 IP-Client)
7D67  :  Amidala (ST 418 Gateway Satellite)
3400  :  Amidala (ST 418 Gateway Cable)
6763  :  Amidala (ST 418 GW Satellite & Cable)
32C2  :  AX2 m-star 64bit platform

Implemented in DobbyEnv.

◆ pluginsWorkspacePath()

virtual std::string IDobbyEnv::pluginsWorkspacePath ( ) const
pure virtual

Returns the path to directory that plugins can write to.

This is non-persistent storage and is just a subdirectory of the workspace. Plugins should use this to store any temporary files, mount points, etc.

The path is typically "/mnt/nds/tmpfs/APPLICATIONS_WORKSPACE/plugins"

Implemented in DobbyEnv.

◆ workspaceMountPath()

virtual std::string IDobbyEnv::workspaceMountPath ( ) const
pure virtual

Returns the absolute AI workspace mount point path.

This is the tmpfs mount used by all AI code as a place to store non-persistent files.

The path is typically "/mnt/nds/tmpfs/APPLICATIONS_WORKSPACE"

Implemented in DobbyEnv.


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