4S Device Communication Module Collection  Version 0.6-SNAPSHOT
Full documentation of the modules in the 4SDC collection (aimed at 4SDC module developers)
PAL::BluetoothModule::PrivateBluetoothModule Class Reference
+ Inheritance diagram for PAL::BluetoothModule::PrivateBluetoothModule:
+ Collaboration diagram for PAL::BluetoothModule::PrivateBluetoothModule:

Private Types

enum  {
  STATE_INACTIVE, STATE_STOPPING, STATE_CLEANING, STATE_STARTING,
  STATE_RUNNING, STATE_RESTARTING, STATE_TERMINATING, STATE_TERMINATED
}
 

Private Member Functions

 PrivateBluetoothModule (BluetoothModule *parent)
 
void on ()
 
void off ()
 
void terminate ()
 
void javaThreadTask ()
 
void cppThreadTask ()
 
void deleteJavaThread ()
 
void registerDatatype (uint16_t datatype) noexcept
 
void unregisterDatatype (uint16_t datatype) noexcept
 
void interruptSubsystem ()
 
void datatypesChanged (uint16_t datatype, bool added)
 
void sendApduPrimary (shared_ptr< VirtualPHD > device, shared_ptr< vector< uint8_t > > apdu) noexcept
 
void sendApduStreaming (shared_ptr< VirtualPHD > device, shared_ptr< vector< uint8_t > > apdu) noexcept
 
void sendApdu (shared_ptr< VirtualPHD > device, shared_ptr< vector< uint8_t > > apdu, bool primary) noexcept
 
void disconnect (shared_ptr< VirtualPHD > device) noexcept
 
bool checkRunning ()
 
void enqueueDownstreamRequest (DownstreamRequest *request)
 
void receive (ConnectIndicationMsg &msg)
 
void receive (DisconnectIndicationMsg &msg)
 
void receive (ReceiveApduMsg &msg)
 
shared_ptr< PHDBluetoothDevicelookupOrCreatePhysical (string address, string displayName, string serviceName)
 
shared_ptr< VirtualPHDlookupVirtual (string address, uint16_t datatype)
 
shared_ptr< VirtualPHDlookupOrCreateVirtual (string address, uint16_t datatype, string displayName, string serviceName, string mdepDescription)
 
pair< string, uint16_t > lookupConnected (FSYS::Handle &virtualDevice)
 

Private Attributes

BluetoothModuleparent
 
enum BluetoothModule::PrivateBluetoothModule:: { ... }  state
 
mutex stateLock
 
set< uint16_t > datatypes
 
thread * javaThread
 
queue< DownstreamRequest * > requestQueue
 
mutex requestQueueLock
 
condition_variable requestQueueHasData
 
map< string, shared_ptr< PHDBluetoothDevice > > knownPhysicalDevices
 
map< pair< string, uint16_t >, shared_ptr< VirtualPHD > > knownVirtualDevices
 
map< FSYS::Handle, pair< string, uint16_t > > connectedDevices
 

Friends

class BluetoothModule
 
class MsgReceiver< BluetoothModule::PrivateBluetoothModule, ConnectIndicationMsg >
 
class MsgReceiver< BluetoothModule::PrivateBluetoothModule, DisconnectIndicationMsg >
 
class MsgReceiver< BluetoothModule::PrivateBluetoothModule, ReceiveApduMsg >
 

Additional Inherited Members

- Public Member Functions inherited from FSYS::MsgReceiver< BluetoothModule::PrivateBluetoothModule, ConnectIndicationMsg >
 MsgReceiver (void)
 Constructor for MsgReceiver class. More...
 
 ~MsgReceiver ()
 Destructor for MsgReceiver class. More...
 
- Public Member Functions inherited from FSYS::MsgAddrGenerator< BluetoothModule::PrivateBluetoothModule >
 MsgAddrGenerator (void)
 Constructor that creates an address.
 
 operator MsgAddr & ()
 MsgAddr operator for type conversion of MsgAddrGenerator to a MsgAddr. More...
 
- Public Member Functions inherited from FSYS::MsgReceiver< BluetoothModule::PrivateBluetoothModule, DisconnectIndicationMsg >
 MsgReceiver (void)
 Constructor for MsgReceiver class. More...
 
 ~MsgReceiver ()
 Destructor for MsgReceiver class. More...
 
- Public Member Functions inherited from FSYS::MsgReceiver< BluetoothModule::PrivateBluetoothModule, ReceiveApduMsg >
 MsgReceiver (void)
 Constructor for MsgReceiver class. More...
 
 ~MsgReceiver ()
 Destructor for MsgReceiver class. More...
 

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