iModem.h
196 virtual void updateModemState(const std::string& modemid,const dpyModem::ModemState& state) = 0;
203 virtual void processModemWarningEvent(const std::string& modemid,const dpyModem::ModemWarning& warning) = 0;
211 virtual void updateSimList(const std::string& modemid, const std::string& simid,const dpyModem::ListEvent& event) = 0;
235 void notifyModemWarningEvent(const std::string& modemid, const dpyModem::ModemWarning& warning);
236 void notifySimListEvent(const std::string& modemid, const std::string& simid, const dpyModem::ListEvent& event);
285 virtual boost::system::error_code getActiveSims(std::list<boost::shared_ptr<ISim>>& list ) const = 0;
293 virtual boost::system::error_code getSimById(const std::string& simid, boost::shared_ptr<ISim>& sim) const = 0;
virtual void updateSimList(const std::string &modemid, const std::string &simid, const dpyModem::ListEvent &event)=0
Method called when a sim is inserted or removed from a modem.
@ ENABLED_SIM_READY
Modem is enabled and SIM card is ready.
Definition: iModem.h:49
virtual bool isDataConnectionEnabled()=0
Returns the status of the data connection flag, which informs the user if the data connection is enab...
virtual boost::system::error_code getSimById(const std::string &simid, boost::shared_ptr< ISim > &sim) const =0
Retrieve a specific sim by specifying its id.
@ REGISTERED_ROAMING
Modem has been able to register in the Cellular Roaming network (i.e. an external network)
Definition: iModem.h:85
@ NOTIFY_UNDERVOLTAGE
Supply voltage is close to the undervoltage threshold. If the voltage continues to decrease until it ...
Definition: iModem.h:154
NetworkStatus cellularNetworkStatus
Current Network Status.
Definition: iModem.h:136
@ NOTIFY_JAMMING
Modem Jamming has been detected in the module.
Definition: iModem.h:161
@ NOTIFY_CLOSE_TO_OVERTEMPERATURE
Modem module is close to overtemperature limit.
Definition: iModem.h:157
virtual boost::system::error_code forceNetworkMode(const dpyModem::NetworkMode &mode)=0
Force a specific Network Mode to work with.
@ POOR_SIGNAL_STRENGTH
Signal quality is not adequate and this can affect performance.
Definition: iModem.h:73
virtual boost::system::error_code disableDataConnection()=0
Disables data connections performed with the modem, therefore, the modem will not try to use the data...
@ DATA_CONNECTION_ENABLED
Modem Data connection has been configured and enabled.
Definition: iModem.h:54
std::string fw_version
Modem firmware version.
Definition: iModem.h:147
Defines the status information structure that is obtained after a MODEM STATUS report.
Definition: iModem.h:130
@ GPRS_REGISTRATION_DENIED
Modem has not been able to register either in Home or Roaming networks.
Definition: iModem.h:96
ModemPowerStatus
Defines the possible MODEM POWER states that the modem can be in.
Definition: iModem.h:61
SignalQuality signalQuality
Current Signal Quality.
Definition: iModem.h:135
@ ANTENNA_NOT_DETECTED
Modem Antenna is not connected to the device.
Definition: iModem.h:72
@ DATA_CONNECTION_ACTIVE
Modem is ready to perform data connections, a network interface should be available for use.
Definition: iModem.h:56
virtual boost::system::error_code getStatus(dpyModem::ModemStatus &status)=0
Obtain current modem status, a structure composed by different parameters.
virtual boost::system::error_code getSims(std::list< boost::shared_ptr< ISim >> &list) const =0
Retrieve available sims for this modem.
@ SLEEPING
Modem low consumption mode, modem functionalities are not available.
Definition: iModem.h:47
@ NOTIFY_BACK_TO_NORMAL_TEMPERATURE
Modem module is back to normal temperature.
Definition: iModem.h:160
@ NOTIFY_UNDERTEMPERATURE
Modem module is below undertemperature limit, imminent switch off.
Definition: iModem.h:158
@ CELLULAR_NETWORK_REG_HOME
Modem is registered in the Cellular network : home network.
Definition: iModem.h:51
@ GOOD_SIGNAL_STRENGTH
Signal quality is good enough to perform communications.
Definition: iModem.h:75
@ NOTIFY_CLOSE_TO_UNDERTEMPERATURE
Modem module is close to undertemperature limit.
Definition: iModem.h:156
@ SEARCHING_OPERATOR
Modem searching for a operator for the Cellular network.
Definition: iModem.h:83
@ NOTIFY_SHUTDOWN
Indicates that the power-off procedure is finished and the modem will be switched off in less than 1 ...
Definition: iModem.h:162
@ NOTIFY_OVERTEMPERATURE
Modem module is above overtemperature limit, imminent switch off.
Definition: iModem.h:159
@ NOTIFY_RESTARTED
Indicates that the modem restart is finished and the modem is again available.
Definition: iModem.h:163
Struct to keep call Configuration as configured by the Voice call.
Definition: iModem.h:170
@ MODE_ANY
Any mode,select to go back to default network mode.
Definition: iModem.h:108
virtual boost::system::error_code getModemInfo(dpyModem::ModemInfo &info) const =0
Retrieve modem related information.
@ CELLULAR_NETWORK_REG_ROAMING
Modem is registered in the Cellular network : roaming network.
Definition: iModem.h:52
SignalQuality
Defines the possible SIGNAL QUALITY results that that can be obtained.
Definition: iModem.h:70
virtual bool isSimActive(const std::string &simId) const =0
Obtain the status of a sim in terms of active/inactive.
@ EXCELLENT_SIGNAL_STRENGTH
Signal quality is high.
Definition: iModem.h:76
virtual void processModemWarningEvent(const std::string &modemid, const dpyModem::ModemWarning &warning)=0
Method called on modem warning events.
Deepsy Modem namespace that includes the different enums, structs or method signatures that should be...
@ DATA_CONNECTION_BACKOFF
Modem waiting for next connection try.
Definition: iModem.h:57
virtual void updateModemState(const std::string &modemid, const dpyModem::ModemState &state)=0
Method called with every modem state change.
ModemWarning
Defines the possible warnings that the modem can report during its operation.
Definition: iModem.h:152
@ REGISTERED_HOME_NET
Modem has been able to register in the Cellular Home network.
Definition: iModem.h:84
GPRS_NETWORK_STATUS
Defines the possible GPRS network registration status that can be reported. Note that this field info...
Definition: iModem.h:90
std::string imei
Modem IMEI (International Mobile Equipment Identity)
Definition: iModem.h:146
@ RESTARTING
Modem is being restarted, modem functionalities are not available.
Definition: iModem.h:46
AccessTechnology accessTech
Current network Access Technology being used.
Definition: iModem.h:137
@ SERVICE_AVAILABLE_GOOD_SIGNAL
Modem signal quality is good enough to perform communications.
Definition: iModem.h:50
@ GPRS_REGISTERED_HOME_NET
Modem has been able to register in the GPRS Home network.
Definition: iModem.h:94
@ DISABLED
Modem is off, modem functionalities are not available.
Definition: iModem.h:45
@ GPRS_REGISTERED_ROAMING
Modem has been able to register in the GPRS Roaming network (i.e., an external network)
Definition: iModem.h:95
@ ENABLING_MODEM
Modem Cellular network capabilities are being enabled but cellular network may not be available yet.
Definition: iModem.h:48
virtual bool softwareRestartModem(boost::system::error_code &ec)=0
Perform a software restart of the modem.
virtual boost::system::error_code getActiveSims(std::list< boost::shared_ptr< ISim >> &list) const =0
Retrieve active sims for this modem.
@ FAIR_SIGNAL_STRENGTH
Signal quality should be enough to perform communications.
Definition: iModem.h:74
ModemState currentState
Current modem FSM state.
Definition: iModem.h:132
NetworkStatus
Defines the possible Cellular network registration status that can be reported. Note that this field ...
Definition: iModem.h:80
SimStatus
Defines the possible states in which SIM card may be.
Definition: iSim.h:48
std::string manufacturer
Modem Manufacturer.
Definition: iModem.h:144
virtual bool hardwareRestartModem(boost::system::error_code &ec)=0
Perform a hardware restart of the modem.
@ NONE
Not using any technology (modem disabled, sleep or being enabled) or technology is unknown.
Definition: iModem.h:115
@ REGISTRATION_DENIED
Modem has not been able to register either in Home or Roaming networks.
Definition: iModem.h:86
@ GPRS_SEARCHING_OPERATOR
Modem searching for a operator for the GPRS mobile network.
Definition: iModem.h:93
virtual boost::system::error_code getCurrentSim(boost::shared_ptr< ISim > &sim) const =0
Retrieve current sim object being used.
@ DATA_CONNECTION_NOT_AVAILABLE
Modem Data connection system is being initiated.
Definition: iModem.h:53
virtual boost::system::error_code enableDataConnection()=0
Sets the modem data connection flag to true and, therefore, the modem will try to provide data connec...
AccessTechnology
Defines the possible network access technologies a modem can make use of in order to communicate with...
Definition: iModem.h:113
@ NOT_REGISTERED
Modem not registered in the Cellular network.
Definition: iModem.h:82
@ NOTIFY_OVERVOLTAGE
Supply voltage is close to the overvoltage threshold. If the voltage continues to increase until it c...
Definition: iModem.h:155
@ GPRS_NOT_REGISTERED
Modem not registered in the GPRS mobile network.
Definition: iModem.h:92
@ DATA_CONNECTION_CONNECTING
Modem has configured the device for data connections and it's trying to connect.
Definition: iModem.h:55
std::map< std::string, boost::shared_ptr< ISim > > mIdToSimMap
Associates modem ids with the sim objects.
Definition: iModem.h:232
boost::system::error_code unsubscribe(ModemObserver *observer)
Unsubscribe from the different modem events.
boost::system::error_code subscribe(ModemObserver *observer)
Subscribe to the different modem events.
ModemPowerStatus powerStatus
Current Power Status.
Definition: iModem.h:133