Android-cuttlefish cvd tool
Classes | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl Class Reference
Inheritance diagram for cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl:
Inheritance graph
[legend]
Collaboration diagram for cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl:
Collaboration graph
[legend]

Classes

struct  InstanceActions
 

Public Member Functions

 custom_action_config_flag_ (Flag::StringFlag("custom_action_config") .Help("Path to a custom action config JSON. Defaults to the file " "provided by build variable CVD_CUSTOM_ACTION_CONFIG. If " "this build variable is empty then the custom action " "config will be empty as well.") .Getter([this]() { return custom_action_config_[0];}) .Setter([this](std::string_view arg) -> Result< void > { if(!arg.empty() &&(arg=="unset"||arg=="\"unset\"")) { custom_action_config_.push_back(DefaultCustomActionConfig());} else if(!arg.empty() &&!FileExists(std::string(arg))) { return CF_ERRF("custom_action_config file \"{}\" does not exist.", arg);} else { custom_action_config_.emplace_back(arg);} return {};}))
 
 custom_actions_flag_ (Flag::StringFlag("custom_actions") .Help("Serialized JSON of an array of custom action objects " "(in the same format as custom action config JSON " "files). For use within --config preset config files; " "prefer --custom_action_config to specify a custom " "config file on the command line. Actions in this flag " "are combined with actions in --custom_action_config.") .Setter([this](std::string_view arg) -> Result< void > { if(arg=="unset"||arg=="\"unset\"") { AddEmptyJsonCustomActionConfigs();return {};} auto custom_action_array=CF_EXPECT(ParseJson(arg), "Could not read custom actions config flag");CF_EXPECT(AddJsonCustomActionConfigs(custom_action_array));return {};}))
 
std::vector< CustomShellActionConfigCustomShellActions (const std::string &id_str=std::string()) const override
 
std::vector< CustomActionServerConfigCustomActionServers (const std::string &id_str=std::string()) const override
 
std::vector< CustomDeviceStateActionConfigCustomDeviceStateActions (const std::string &id_str=std::string()) const override
 
Json::Value Serialize () const override
 
bool Deserialize (const Json::Value &custom_actions_json) override
 
std::string Name () const override
 
std::unordered_set< FlagFeature * > Dependencies () const override
 
Result< void > Process (std::vector< std::string > &args) override
 
bool WriteGflagsCompatHelpXml (std::ostream &out) const override
 
virtual std::vector< CustomShellActionConfigCustomShellActions (const std::string &id_str=std::string()) const =0
 
virtual std::vector< CustomActionServerConfigCustomActionServers (const std::string &id_str=std::string()) const =0
 
virtual std::vector< CustomDeviceStateActionConfigCustomDeviceStateActions (const std::string &id_str=std::string()) const =0
 
- Public Member Functions inherited from cuttlefish::Feature< FlagFeature >
virtual ~Feature ()=default
 
virtual std::string Name () const=0
 
- Public Member Functions inherited from cuttlefish::ConfigFragment
virtual ~ConfigFragment ()
 
virtual std::string Name () const =0
 
virtual Json::Value Serialize () const =0
 
virtual bool Deserialize (const Json::Value &)=0
 

Public Attributes

 __pad0__: config_(config)
 

Private Member Functions

std::vector< FlagFlags () const
 
void AddEmptyJsonCustomActionConfigs ()
 
bool AddJsonCustomActionConfigs (const Json::Value &custom_action_array)
 

Private Attributes

ConfigFlagconfig_
 
Flag custom_action_config_flag_
 
std::vector< std::string > custom_action_config_
 
Flag custom_actions_flag_
 
std::vector< InstanceActionsinstance_actions_
 

Additional Inherited Members

- Static Public Member Functions inherited from cuttlefish::FlagFeature
static Result< void > ProcessFlags (const std::vector< FlagFeature * > &features, std::vector< std::string > &flags)
 
static bool WriteGflagsHelpXml (const std::vector< FlagFeature * > &features, std::ostream &out)
 
- Static Public Member Functions inherited from cuttlefish::Feature< FlagFeature >
static Result< void > TopologicalVisit (const std::unordered_set< FlagFeature * > &features, const std::function< Result< void >(FlagFeature *)> &callback)
 

Member Function Documentation

◆ AddEmptyJsonCustomActionConfigs()

void cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::AddEmptyJsonCustomActionConfigs ( )
inlineprivate

◆ AddJsonCustomActionConfigs()

bool cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::AddJsonCustomActionConfigs ( const Json::Value &  custom_action_array)
inlineprivate

◆ custom_action_config_flag_()

cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::custom_action_config_flag_ ( Flag::StringFlag("custom_action_config") .Help( "Path to a custom action config JSON. Defaults to the file " "provided by build variable CVD_CUSTOM_ACTION_CONFIG. If " "this build variable is empty then the custom action " "config will be empty as well.") .Getter([this]() { return custom_action_config_[0];}) .Setter([this](std::string_view arg) -> Result< void > { if(!arg.empty() &&(arg=="unset"||arg=="\"unset\"")) { custom_action_config_.push_back( DefaultCustomActionConfig()); } else if(!arg.empty() &&!FileExists(std::string(arg))) { return CF_ERRF( "custom_action_config file \"{}\" does not exist.", arg); } else { custom_action_config_.emplace_back(arg); } return {}; })  )

◆ custom_actions_flag_()

cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::custom_actions_flag_ ( Flag::StringFlag("custom_actions") .Help("Serialized JSON of an array of custom action objects " "(in the same format as custom action config JSON " "files). For use within --config preset config files; " "prefer --custom_action_config to specify a custom " "config file on the command line. Actions in this flag " "are combined with actions in --custom_action_config.") .Setter([this](std::string_view arg) -> Result< void > { if(arg=="unset"||arg=="\"unset\"") { AddEmptyJsonCustomActionConfigs(); return {}; } auto custom_action_array= CF_EXPECT(ParseJson(arg), "Could not read custom actions config flag"); CF_EXPECT(AddJsonCustomActionConfigs(custom_action_array)); return {}; })  )
inline

◆ CustomActionServers()

std::vector< CustomActionServerConfig > cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::CustomActionServers ( const std::string &  id_str = std::string()) const
inlineoverridevirtual

◆ CustomDeviceStateActions()

std::vector< CustomDeviceStateActionConfig > cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::CustomDeviceStateActions ( const std::string &  id_str = std::string()) const
inlineoverridevirtual

◆ CustomShellActions()

std::vector< CustomShellActionConfig > cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::CustomShellActions ( const std::string &  id_str = std::string()) const
inlineoverridevirtual

◆ Dependencies()

std::unordered_set< FlagFeature * > cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::Dependencies ( ) const
inlineoverridevirtual

◆ Deserialize()

bool cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::Deserialize ( const Json::Value &  custom_actions_json)
inlineoverridevirtual

◆ Flags()

std::vector< Flag > cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::Flags ( ) const
inlineprivate

◆ Name()

std::string cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::Name ( ) const
inlineoverridevirtual

◆ Process()

Result< void > cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::Process ( std::vector< std::string > &  args)
inlineoverridevirtual

◆ Serialize()

Json::Value cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::Serialize ( ) const
inlineoverridevirtual

◆ WriteGflagsCompatHelpXml()

bool cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::WriteGflagsCompatHelpXml ( std::ostream &  out) const
inlineoverridevirtual

Member Data Documentation

◆ __pad0__

cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::__pad0__

◆ config_

ConfigFlag& cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::config_
private

◆ custom_action_config_

std::vector<std::string> cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::custom_action_config_
private

◆ custom_action_config_flag_

Flag cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::custom_action_config_flag_
private

◆ custom_actions_flag_

Flag cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::custom_actions_flag_
private

◆ instance_actions_

std::vector<InstanceActions> cuttlefish::anonymous_namespace{custom_actions.cpp}::CustomActionConfigImpl::instance_actions_
private

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