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

#include <modem_simulator.h>

Inheritance diagram for cuttlefish::ModemSimulator:
Inheritance graph
[legend]
Collaboration diagram for cuttlefish::ModemSimulator:
Collaboration graph
[legend]

Public Member Functions

 ModemSimulator (int32_t modem_id)
 
 ~ModemSimulator ()
 
 ModemSimulator (const ModemSimulator &)=delete
 
ModemSimulatoroperator= (const ModemSimulator &)=delete
 
void Initialize (std::unique_ptr< ChannelMonitor > &&channel_monitor)
 
void DispatchCommand (const Client &client, std::string &command) override
 
void OnFirstClientConnected () override
 
void SaveModemState ()
 
bool IsWaitingSmsPdu () override
 
bool IsRadioOn () const
 
void SetRemoteClient (cuttlefish::SharedFD client, bool is_accepted)
 
void SetTimeZone (std::string timezone)
 
bool SetPhoneNumber (std::string_view number)
 
- Public Member Functions inherited from cuttlefish::VirtualModemSimulator
virtual ~VirtualModemSimulator ()=default
 
virtual void DispatchCommand (const Client &client, std::string &command)=0
 
virtual void OnFirstClientConnected ()=0
 
virtual bool IsWaitingSmsPdu ()=0
 

Private Member Functions

void RegisterModemService ()
 

Static Private Member Functions

static void LoadNvramConfig ()
 

Private Attributes

int32_t modem_id_
 
std::unique_ptr< ChannelMonitorchannel_monitor_
 
std::unique_ptr< ThreadLooperthread_looper_
 
SmsServicesms_service_ {nullptr}
 
SimServicesim_service_ {nullptr}
 
MiscServicemisc_service_ {nullptr}
 
NetworkServicenetwork_service_ {nullptr}
 
std::map< ModemServiceType, std::unique_ptr< ModemService > > modem_services_
 

Constructor & Destructor Documentation

◆ ModemSimulator() [1/2]

cuttlefish::ModemSimulator::ModemSimulator ( int32_t  modem_id)

◆ ~ModemSimulator()

cuttlefish::ModemSimulator::~ModemSimulator ( )

◆ ModemSimulator() [2/2]

cuttlefish::ModemSimulator::ModemSimulator ( const ModemSimulator )
delete

Member Function Documentation

◆ DispatchCommand()

void cuttlefish::ModemSimulator::DispatchCommand ( const Client client,
std::string &  command 
)
overridevirtual

◆ Initialize()

void cuttlefish::ModemSimulator::Initialize ( std::unique_ptr< ChannelMonitor > &&  channel_monitor)

◆ IsRadioOn()

bool cuttlefish::ModemSimulator::IsRadioOn ( ) const

◆ IsWaitingSmsPdu()

bool cuttlefish::ModemSimulator::IsWaitingSmsPdu ( )
overridevirtual

◆ LoadNvramConfig()

void cuttlefish::ModemSimulator::LoadNvramConfig ( )
staticprivate

◆ OnFirstClientConnected()

void cuttlefish::ModemSimulator::OnFirstClientConnected ( )
overridevirtual

◆ operator=()

ModemSimulator & cuttlefish::ModemSimulator::operator= ( const ModemSimulator )
delete

◆ RegisterModemService()

void cuttlefish::ModemSimulator::RegisterModemService ( )
private

◆ SaveModemState()

void cuttlefish::ModemSimulator::SaveModemState ( )

◆ SetPhoneNumber()

bool cuttlefish::ModemSimulator::SetPhoneNumber ( std::string_view  number)

◆ SetRemoteClient()

void cuttlefish::ModemSimulator::SetRemoteClient ( cuttlefish::SharedFD  client,
bool  is_accepted 
)
inline

◆ SetTimeZone()

void cuttlefish::ModemSimulator::SetTimeZone ( std::string  timezone)

Member Data Documentation

◆ channel_monitor_

std::unique_ptr<ChannelMonitor> cuttlefish::ModemSimulator::channel_monitor_
private

◆ misc_service_

MiscService* cuttlefish::ModemSimulator::misc_service_ {nullptr}
private

◆ modem_id_

int32_t cuttlefish::ModemSimulator::modem_id_
private

◆ modem_services_

std::map<ModemServiceType, std::unique_ptr<ModemService> > cuttlefish::ModemSimulator::modem_services_
private

◆ network_service_

NetworkService* cuttlefish::ModemSimulator::network_service_ {nullptr}
private

◆ sim_service_

SimService* cuttlefish::ModemSimulator::sim_service_ {nullptr}
private

◆ sms_service_

SmsService* cuttlefish::ModemSimulator::sms_service_ {nullptr}
private

◆ thread_looper_

std::unique_ptr<ThreadLooper> cuttlefish::ModemSimulator::thread_looper_
private

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