OpcUaCanOpen
CANopen OPC-UA server
CanModule::CCanAccess Class Referenceabstract

#include <CCanAccess.h>

Inherited by AnaCanScan, MockCanAccess, PKCanScan, PKCanScan, STCanScan, STCanScan, and STCanScan.

Public Member Functions

 CCanAccess ()
 
virtual bool sendRemoteRequest (short cobID)=0
 
virtual bool createBus (const string name, const string parameters)=0
 
virtual bool sendMessage (short cobID, unsigned char len, unsigned char *message, bool rtr=false)=0
 
virtual bool sendMessage (CanMessage *canm)
 
std::string & getBusName ()
 
virtual ~CCanAccess ()
 
virtual void getStatistics (CanStatistics &result)=0
 
bool initialiseLogging (LogItInstance *remoteInstance)
 
LogItInstancegetLogItInstance ()
 the LogIt instance is NOT shared by inheritance in windows, the instance has to be passed explicitly from the parent More...
 
vector< string > parseNameAndParameters (string name, string parameters)
 

Public Attributes

boost::signals2::signal< void(const CanMessage &) > canMessageCame
 
boost::signals2::signal< void(const int, const char *, timeval &) > canMessageError
 

Protected Attributes

string m_sBusName
 
CanParameters m_CanParameters
 

Private Attributes

boost::signals2::connection s_cconnection
 
int s_connectionIndex
 
Log::LogComponentHandle _lh
 
LogItInstances_logItRemoteInstance
 

Detailed Description

Definition at line 82 of file CCanAccess.h.

Constructor & Destructor Documentation

◆ CCanAccess()

CanModule::CCanAccess::CCanAccess ( )
inline

Definition at line 87 of file CCanAccess.h.

◆ ~CCanAccess()

virtual CanModule::CCanAccess::~CCanAccess ( )
inlinevirtual

Definition at line 149 of file CCanAccess.h.

Member Function Documentation

◆ createBus()

virtual bool CanModule::CCanAccess::createBus ( const string  name,
const string  parameters 
)
pure virtual

Implemented in AnaCanScan, STCanScan, MockCanAccess, and PKCanScan.

◆ getBusName()

std::string& CanModule::CCanAccess::getBusName ( )
inline

Definition at line 137 of file CCanAccess.h.

◆ getLogItInstance()

LogItInstance* CanModule::CCanAccess::getLogItInstance ( )
inline

the LogIt instance is NOT shared by inheritance in windows, the instance has to be passed explicitly from the parent

Definition at line 174 of file CCanAccess.h.

◆ getStatistics()

virtual void CanModule::CCanAccess::getStatistics ( CanStatistics result)
pure virtual

Implemented in AnaCanScan, STCanScan, PKCanScan, and MockCanAccess.

◆ initialiseLogging()

bool CanModule::CCanAccess::initialiseLogging ( LogItInstance remoteInstance)
inline

Definition at line 163 of file CCanAccess.h.

◆ parseNameAndParameters()

vector<string> CanModule::CCanAccess::parseNameAndParameters ( string  name,
string  parameters 
)
inline

care for different syntax: "sock:0" => sock:can0 "sock:can0" => "sock:can0" "sock:vcan0" => "sock:vcan0"

"sock:whatsoever0" => "sock:can0" "sock:whatsoevervcan0" => "sock:vcan0" "sock:wvcanhatso0" => "sock:vcan0"

if you specify only an integer portnumber we default to "can" if you specify ":can" we stay with "can" if you specify ":vcan" we stay with "vcan" if you specify anything else which contains a string and an integer, we use can if you specify anything else which contains a string containing ":vcan" and an integer, we use vcan so basically you have the freedom to call your devices as you want. Maybe this is too much freedom.

Definition at line 184 of file CCanAccess.h.

◆ sendMessage() [1/2]

virtual bool CanModule::CCanAccess::sendMessage ( short  cobID,
unsigned char  len,
unsigned char *  message,
bool  rtr = false 
)
pure virtual

Implemented in AnaCanScan, STCanScan, MockCanAccess, and PKCanScan.

◆ sendMessage() [2/2]

virtual bool CanModule::CCanAccess::sendMessage ( CanMessage canm)
inlinevirtual

Reimplemented in AnaCanScan.

Definition at line 130 of file CCanAccess.h.

◆ sendRemoteRequest()

virtual bool CanModule::CCanAccess::sendRemoteRequest ( short  cobID)
pure virtual

Member Data Documentation

◆ _lh

Log::LogComponentHandle CanModule::CCanAccess::_lh
private

Definition at line 252 of file CCanAccess.h.

◆ canMessageCame

boost::signals2::signal<void (const CanMessage &) > CanModule::CCanAccess::canMessageCame

Definition at line 147 of file CCanAccess.h.

◆ canMessageError

boost::signals2::signal<void (const int,const char *,timeval &) > CanModule::CCanAccess::canMessageError

Definition at line 149 of file CCanAccess.h.

◆ m_CanParameters

CanParameters CanModule::CCanAccess::m_CanParameters
protected

Definition at line 246 of file CCanAccess.h.

◆ m_sBusName

string CanModule::CCanAccess::m_sBusName
protected

Definition at line 245 of file CCanAccess.h.

◆ s_cconnection

boost::signals2::connection CanModule::CCanAccess::s_cconnection
private

Definition at line 250 of file CCanAccess.h.

◆ s_connectionIndex

int CanModule::CCanAccess::s_connectionIndex
private

Definition at line 251 of file CCanAccess.h.

◆ s_logItRemoteInstance

LogItInstance* CanModule::CCanAccess::s_logItRemoteInstance
private

Definition at line 253 of file CCanAccess.h.


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