C12Adapter Opensource C++ Interface
MCOM

Files

file  Buffer.h
 
file  BufferBidirectional.h
 
file  BufferCircular.h
 
file  Channel.h
 
file  ChannelCurrentLoop.h
 
file  ChannelModem.h
 
file  ChannelModemCallback.h
 
file  ChannelOpticalProbe.h
 
file  ChannelSerialPort.h
 
file  ChannelSocket.h
 
file  ChannelSocketBase.h
 
file  ChannelSocketCallback.h
 
file  ChannelSocketUdp.h
 
file  ChannelSocketUdpCallback.h
 
file  LogFile.h
 
file  LogFileReader.h
 
file  LogFileWriter.h
 
file  MCOMDefs.h
 Basic definitions of library MCOM.
 
file  MCOMExceptions.h
 Communication-related exception classes, derived from MException.
 
file  MCOMFactory.h
 
file  MCOMObject.h
 
file  Monitor.h
 
file  MonitorFile.h
 
file  MonitorSocket.h
 
file  MonitorSyslog.h
 
file  Protocol.h
 
file  ProtocolC12.h
 
file  ProtocolC1218.h
 
file  ProtocolC1221.h
 
file  ProtocolC1222.h
 
file  SessionKeeper.h
 

Classes

class  MBuffer
 Buffer, a byte string with extra manipulation facilities. More...
 
class  MBufferReader
 Buffer traverser or reader. More...
 
class  MBufferBidirectional
 Buffer where the data can be added to both the beginning and the end of the buffer. More...
 
class  MBufferCircular
 Byte buffer with variable capacity that allows efficient buffering by having one reader/getter and one writer/putter. More...
 
class  MChannel
 Abstraction of all channel-level communication media. More...
 
class  MChannelCurrentLoop
 MChannelCurrentLoop implements methods necessary for handling RS-232 serial port. More...
 
class  MChannelModem
 Modem channel is a channel based on serial port. More...
 
class  MChannelModemCallback
 Modem callback channel is MChannelModem that has Auto Answer enabled by default. More...
 
class  MChannelOpticalProbe
 Optical probe is a channel based on serial port that is able to control the batteries of the probe (if it exists). More...
 
class  MChannelSerialPort
 Serial port based channel, a null cable direct serial link or a link through a current loop adapter. More...
 
class  MChannelSocket
 MChannelSocket implements the channel interface for an TCP/IP socket. More...
 
class  MChannelSocketBase
 MChannelSocket implements the channel interface for an IP socket, either TCP or UDP. More...
 
class  MChannelSocketCallback
 Socket callback channel is MChannelSocket that has Auto Answer enabled by default. More...
 
class  MChannelSocketUdp
 Implements the channel interface for an UDP datagram socket. More...
 
class  MChannelSocketUdpCallback
 Socket callback channel is MChannelSocketUdp that has Auto Answer enabled by default. More...
 
class  MLogFile
 Abstract log file utility class to handle the log from the monitor. More...
 
class  MLogFileReader
 Log file utility class to handle the log from the monitor. More...
 
class  MLogFileWriter
 Log file writer, one that writes information to a file. More...
 
class  MCOMException
 Root of every exception thrown by the MCOM component. More...
 
class  MEC12NokResponse
 Exception which is thrown in case the ANSI C12 meter responded with an error defined by the protocol. More...
 
class  MEC12BadProcedureResult
 Exception which is thrown for the erroneous ANSI C12 procedure response code. More...
 
class  MEChannelReadTimeout
 Exception which is thrown in case the timeout condition happens during reading from the channel. More...
 
class  MEChannelWriteTimeout
 Exception which is thrown in case the timeout condition happens during writing to the channel. More...
 
class  MEChannelDisconnectedUnexpectedly
 Exception which is thrown in case the channel is unexpectedly disconnected. More...
 
class  MECollisionDetected
 Exception which is thrown in case the channel detects the collision, and it has to yield to the peer. More...
 
class  MCOMFactory
 Factory that is capable of creating MCOM objects. More...
 
class  MCOMObject
 Root communication object that defines default property handling and configuration location. More...
 
class  MMonitor
 Abstract monitor to watch communication. More...
 
class  MMonitorFile
 Activity monitor object that dumps communication into a binary file. More...
 
class  MMonitorSocket
 Activity monitor object based on a TCP socket. More...
 
class  MMonitorSyslog
 Activity monitor object that dumps communication into a syslog. More...
 
class  MProtocol
 Abstraction of a communication protocol. More...
 
class  MProtocolC12
 Generic ANSI C12 abstract protocol, base for C12.18, C12.21, and C12.22. More...
 
class  MProtocolC1218
 ANSI C12 18 protocol implementation, a further specialization of C12 set of protocols. More...
 
class  MProtocolC1221
 ANSI C12.21 protocol implementation. More...
 
class  MProtocolC1222
 ANSI C12.22 protocol implementation. More...
 

Macros

#define MCOM_PROJECT_COMPILING   0
 Default is use library, not build it.
 
#define M_NO_MCOM_RAS_DIAL   ((M_OS & M_OS_WINDOWS) == 0 || (M_OS & M_OS_WIN32_CE) == M_OS_WIN32_CE)
 Whether or not to add RAS Dial feature to socket channel, so the device is dialed prior to connecting. More...
 
#define M_NO_MCOM_MONITOR   (M_NO_SOCKETS || M_NO_TIME)
 Whether or not to include MCOM Monitor feature.
 
#define M_NO_MCOM_MONITOR_SHARED_POINTER   M_NO_MCOM_MONITOR
 Whether or not clients should use shared pointer to access to MCOM Monitor.
 
#define M_NO_MCOM_MONITOR_SYSLOG   0
 Whether or not to include syslog based monitor. More...
 
#define M_NO_MCOM_CHANNEL_SOCKET   M_NO_SOCKETS
 Whether or not to include MCOM ChannelSocket feature, included by default.
 
#define M_NO_MCOM_CHANNEL_SOCKET_UDP   M_NO_SOCKETS_UDP
 Whether or not to include MCOM ChannelSocket feature, included by default.
 
#define M_NO_MCOM_HANDLE_PEER_DISCONNECT   (M_NO_MCOM_CHANNEL_SOCKET || M_NO_MULTITHREADING)
 Whether or not to include special handling of FIN that is arriving to a socket channel from a peer socket.
 
#define M_NO_MCOM_CHANNEL_MODEM   (M_NO_TIME || M_NO_SERIAL_PORT)
 Whether or not to include MCOM ChannelModem feature, included by default.
 
#define M_NO_MCOM_PROTOCOL_C1218   0
 Whether or not to include ANSI C12.18 protocol support, class MProtocolC1218.
 
#define M_NO_MCOM_PROTOCOL_C1221   0
 Whether or not to include ANSI C12.21 protocol support, class MProtocolC1221.
 
#define M_NO_MCOM_PROTOCOL_C1222   0
 Whether or not to include ANSI C12.22 protocol support, class MProtocolC1222.
 
#define M_NO_MCOM_FACTORY   M_NO_REFLECTION
 Whether or not to include MCOM Factory feature.
 
#define M_NO_MCOM_COMMAND_QUEUE   0
 Whether or not to include Command queue feature (Q commands). More...
 
#define M_NO_MCOM_PROTOCOL_THREAD   (M_NO_MCOM_COMMAND_QUEUE || M_NO_MULTITHREADING)
 Whether or not to have protocol threading capability. More...
 
#define M_NO_MCOM_KEEP_SESSION_ALIVE   M_NO_MULTITHREADING
 Whether or not to have support for KeepSessionAlive protocol property. More...
 
#define M_NO_MCOM_IDENTIFY_METER   0
 Whether or not to have protocol method Protocol.IdentifyMeter and related. More...
 
SHOW_INTERNAL typedef MVariant MCOMNumber
 
typedef const MVariantMCOMNumberConstRef
 

Detailed Description

Macro Definition Documentation

#define M_NO_MCOM_COMMAND_QUEUE   0

Whether or not to include Command queue feature (Q commands).

Included by default.

#define M_NO_MCOM_IDENTIFY_METER   0

Whether or not to have protocol method Protocol.IdentifyMeter and related.

By default, include Protocol.IdentifyMeter.

#define M_NO_MCOM_KEEP_SESSION_ALIVE   M_NO_MULTITHREADING

Whether or not to have support for KeepSessionAlive protocol property.

By default, the feature is included if multithreading is on.

#define M_NO_MCOM_MONITOR_SYSLOG   0

Whether or not to include syslog based monitor.

By default syslog monitor is enabled for UNIX-like operating systems when the generic monitor is enabled (M_NO_MCOM_MONITOR = 0).

#define M_NO_MCOM_PROTOCOL_THREAD   (M_NO_MCOM_COMMAND_QUEUE || M_NO_MULTITHREADING)

Whether or not to have protocol threading capability.

Included by default. One can have it only if command queue and multithreading are both enabled.

#define M_NO_MCOM_RAS_DIAL   ((M_OS & M_OS_WINDOWS) == 0 || (M_OS & M_OS_WIN32_CE) == M_OS_WIN32_CE)

Whether or not to add RAS Dial feature to socket channel, so the device is dialed prior to connecting.

Support for RAS Dial is only available on Windows for interactive GUI based applications.

Typedef Documentation

typedef const MVariant& MCOMNumberConstRef

Type for constant reference Table or Function number, right-value.

Depending on compilation mode, this is either const MVariant& or an unsigned.

Variable Documentation

SHOW_INTERNAL typedef MVariant MCOMNumber

Type for Table or Function number.

Depending on compilation mode, this is either MVariant or an unsigned.