Android-cuttlefish cvd tool
Classes | Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
cuttlefish::InstanceDatabase Class Reference

#include <instance_database.h>

Collaboration diagram for cuttlefish::InstanceDatabase:
Collaboration graph
[legend]

Classes

struct  Filter
 

Public Member Functions

 InstanceDatabase (const std::string &backing_file)
 
Result< bool > IsEmpty () const
 
Result< void > LoadFromJson (const Json::Value &)
 
Result< void > SetAcloudTranslatorOptout (bool optout)
 
Result< bool > GetAcloudTranslatorOptout () const
 
Result< LocalInstanceGroupAddInstanceGroup (cvd::InstanceGroup &group_proto)
 
Result< void > UpdateInstanceGroup (const LocalInstanceGroup &group)
 
Result< std::vector< LocalInstanceGroup > > InstanceGroups () const
 
Result< bool > RemoveInstanceGroup (const std::string &group_name)
 
Result< std::vector< LocalInstanceGroup > > Clear ()
 
Result< std::vector< LocalInstanceGroup > > FindGroups (const Filter &filter) const
 
Result< LocalInstanceGroupFindGroup (const Filter &filter) const
 
Result< std::pair< LocalInstance, LocalInstanceGroup > > FindInstanceWithGroup (const Filter &filter) const
 

Private Member Functions

template<typename T >
Result< T > ExactlyOne (Result< std::vector< T > > &&container_result) const
 

Static Private Member Functions

static std::vector< LocalInstanceGroupFindGroups (const cvd::PersistentData &data, const Filter &filter)
 

Private Attributes

DataViewer viewer_
 

Constructor & Destructor Documentation

◆ InstanceDatabase()

cuttlefish::InstanceDatabase::InstanceDatabase ( const std::string &  backing_file)

Member Function Documentation

◆ AddInstanceGroup()

Result< LocalInstanceGroup > cuttlefish::InstanceDatabase::AddInstanceGroup ( cvd::InstanceGroup &  group_proto)

Adds instance group.

A new group name will be generated one is not provided.

If group_name or home_dir is already taken or host_artifacts_path is not likely an artifacts path, CF_ERR is returned.

◆ Clear()

Result< std::vector< LocalInstanceGroup > > cuttlefish::InstanceDatabase::Clear ( )

Empties the database and returns the recently deleted instance groups.

◆ ExactlyOne()

template<typename T >
Result< T > cuttlefish::InstanceDatabase::ExactlyOne ( Result< std::vector< T > > &&  container_result) const
inlineprivate

◆ FindGroup()

Result< LocalInstanceGroup > cuttlefish::InstanceDatabase::FindGroup ( const Filter filter) const
inline

◆ FindGroups() [1/2]

std::vector< LocalInstanceGroup > cuttlefish::InstanceDatabase::FindGroups ( const cvd::PersistentData &  data,
const Filter filter 
)
staticprivate

◆ FindGroups() [2/2]

Result< std::vector< LocalInstanceGroup > > cuttlefish::InstanceDatabase::FindGroups ( const Filter filter) const

◆ FindInstanceWithGroup()

Result< std::pair< LocalInstance, LocalInstanceGroup > > cuttlefish::InstanceDatabase::FindInstanceWithGroup ( const Filter filter) const

◆ GetAcloudTranslatorOptout()

Result< bool > cuttlefish::InstanceDatabase::GetAcloudTranslatorOptout ( ) const

◆ InstanceGroups()

Result< std::vector< LocalInstanceGroup > > cuttlefish::InstanceDatabase::InstanceGroups ( ) const

◆ IsEmpty()

Result< bool > cuttlefish::InstanceDatabase::IsEmpty ( ) const

◆ LoadFromJson()

Result< void > cuttlefish::InstanceDatabase::LoadFromJson ( const Json::Value &  db_json)

◆ RemoveInstanceGroup()

Result< bool > cuttlefish::InstanceDatabase::RemoveInstanceGroup ( const std::string &  group_name)

◆ SetAcloudTranslatorOptout()

Result< void > cuttlefish::InstanceDatabase::SetAcloudTranslatorOptout ( bool  optout)

◆ UpdateInstanceGroup()

Result< void > cuttlefish::InstanceDatabase::UpdateInstanceGroup ( const LocalInstanceGroup group)

Member Data Documentation

◆ viewer_

DataViewer cuttlefish::InstanceDatabase::viewer_
private

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