fix doxygen and put everything besides main function in namespace ebusd
This commit is contained in:
@@ -31,6 +31,7 @@ using std::hex;
|
||||
using std::setfill;
|
||||
using std::setw;
|
||||
|
||||
|
||||
// the string used for answering to a scan request (07h 04h)
|
||||
#define SCAN_ANSWER ("ebusd.eu;" PACKAGE_NAME ";" SCAN_VERSION ";100")
|
||||
|
||||
|
||||
@@ -33,7 +33,9 @@
|
||||
#include "lib/utils/queue.h"
|
||||
#include "lib/utils/thread.h"
|
||||
|
||||
/** @file bushandler.h
|
||||
namespace ebusd {
|
||||
|
||||
/** @file ebusd/bushandler.h
|
||||
* Classes, functions, and constants related to handling of symbols on the eBUS.
|
||||
*
|
||||
* The following table shows the possible states, symbols, and state transition
|
||||
@@ -41,8 +43,6 @@
|
||||
* @image html states.png "ebusd BusHandler states"
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
using std::string;
|
||||
|
||||
/** the default time [us] for retrieving a symbol from an addressed slave. */
|
||||
|
||||
@@ -26,14 +26,14 @@
|
||||
#include "ebusd/bushandler.h"
|
||||
#include "lib/ebus/message.h"
|
||||
|
||||
/** @file datahandler.h
|
||||
namespace ebusd {
|
||||
|
||||
/** @file ebusd/datahandler.h
|
||||
* Classes and functions for implementing and registering generic data sinks
|
||||
* and sources that allow listening to received data updates and sending on
|
||||
* the bus.
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
using std::list;
|
||||
using std::map;
|
||||
|
||||
|
||||
+8
-5
@@ -1038,9 +1038,6 @@ result_t loadScanConfigFile(MessageMap* messages, unsigned char address, SymbolS
|
||||
return RESULT_OK;
|
||||
}
|
||||
|
||||
} // namespace ebusd
|
||||
|
||||
using namespace ebusd;
|
||||
|
||||
/** the version string of the program. */
|
||||
const char *argp_program_version = "" PACKAGE_STRING "." REVISION "";
|
||||
@@ -1049,10 +1046,10 @@ const char *argp_program_version = "" PACKAGE_STRING "." REVISION "";
|
||||
const char *argp_program_bug_address = "" PACKAGE_BUGREPORT "";
|
||||
|
||||
/**
|
||||
* Main method.
|
||||
*
|
||||
* Main function.
|
||||
* @param argc the number of command line arguments.
|
||||
* @param argv the command line arguments.
|
||||
* @return the exit code.
|
||||
*/
|
||||
int main(int argc, char* argv[]) {
|
||||
struct argp aargp = { argpoptions, parse_opt, NULL, argpdoc, datahandler_getargs(), NULL, NULL };
|
||||
@@ -1153,3 +1150,9 @@ int main(int argc, char* argv[]) {
|
||||
shutdown();
|
||||
return 0;
|
||||
}
|
||||
|
||||
} // namespace ebusd
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
return ebusd::main(argc, argv);
|
||||
}
|
||||
|
||||
+3
-3
@@ -26,12 +26,12 @@
|
||||
#include "lib/ebus/result.h"
|
||||
#include "lib/utils/log.h"
|
||||
|
||||
/** \file main.h
|
||||
namespace ebusd {
|
||||
|
||||
/** \file ebusd/main.h
|
||||
* The main entry method doing all the startup handling.
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
/** A structure holding all program options. */
|
||||
struct options {
|
||||
const char* device; //!< eBUS device (serial device or [udp:]ip:port) [/dev/ttyUSB0]
|
||||
|
||||
@@ -31,12 +31,12 @@
|
||||
#include "lib/ebus/message.h"
|
||||
#include "lib/utils/rotatefile.h"
|
||||
|
||||
/** \file mainloop.h
|
||||
namespace ebusd {
|
||||
|
||||
/** \file ebusd/mainloop.h
|
||||
* The main loop for the TCP client interface and regular tasks such as resolving scanned data.
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
/**
|
||||
* Helper class for user authentication.
|
||||
*/
|
||||
|
||||
@@ -27,12 +27,12 @@
|
||||
#include "ebusd/bushandler.h"
|
||||
#include "lib/ebus/message.h"
|
||||
|
||||
/** @file mqtthandler.h
|
||||
namespace ebusd {
|
||||
|
||||
/** @file ebusd/mqtthandler.h
|
||||
* A data handler enabling MQTT support via mosquitto.
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
using std::map;
|
||||
using std::string;
|
||||
using std::vector;
|
||||
|
||||
+3
-3
@@ -28,12 +28,12 @@
|
||||
#include "lib/utils/notify.h"
|
||||
#include "lib/utils/thread.h"
|
||||
|
||||
/** \file network.h
|
||||
namespace ebusd {
|
||||
|
||||
/** \file ebusd/network.h
|
||||
* The TCP and HTTP client request handling.
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
/** Forward declaration for @a Connection. */
|
||||
class Connection;
|
||||
|
||||
|
||||
@@ -19,13 +19,13 @@
|
||||
#ifndef LIB_EBUS_CONTRIB_CONTRIB_H_
|
||||
#define LIB_EBUS_CONTRIB_CONTRIB_H_
|
||||
|
||||
/** @file contrib.h
|
||||
namespace ebusd {
|
||||
|
||||
/** @file lib/ebus/contrib/contrib.h
|
||||
* Contributed sources that may be excluded from regular builds.
|
||||
* configure switch: --without-contrib
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
/**
|
||||
* Registration function that is called once during initialization.
|
||||
* @return true if registration was successful.
|
||||
|
||||
@@ -30,12 +30,12 @@
|
||||
#include "lib/ebus/result.h"
|
||||
#include "lib/ebus/datatype.h"
|
||||
|
||||
/** @file tem.h
|
||||
* Contributed data types for TEM devices not part of regular releases.
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
/** @file lib/ebus/contrib/tem.h
|
||||
* Contributed data types for TEM devices not necessarily part of regular releases.
|
||||
*/
|
||||
|
||||
/**
|
||||
* A special variant of @a NumberDataType for TEM/Dungs ParamID in master/slave
|
||||
* data.
|
||||
|
||||
+3
-3
@@ -30,7 +30,9 @@
|
||||
#include "lib/ebus/filereader.h"
|
||||
#include "lib/ebus/datatype.h"
|
||||
|
||||
/** @file data.h
|
||||
namespace ebusd {
|
||||
|
||||
/** @file lib/ebus/data.h
|
||||
* Classes related to defining fields based on data types in symbols on the
|
||||
* eBUS.
|
||||
*
|
||||
@@ -46,8 +48,6 @@
|
||||
* class.
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
class DataFieldTemplates;
|
||||
class SingleDataField;
|
||||
|
||||
|
||||
+55
-24
@@ -31,7 +31,9 @@
|
||||
#include "lib/ebus/result.h"
|
||||
#include "lib/ebus/filereader.h"
|
||||
|
||||
/** @file datatype.h
|
||||
namespace ebusd {
|
||||
|
||||
/** @file lib/ebus/datatype.h
|
||||
* Classes, functions, and constants related to decoding/encoding of symbols
|
||||
* on the eBUS to/from readable values and registry of data types.
|
||||
*
|
||||
@@ -47,8 +49,6 @@
|
||||
* an @a istringstream to a @a SymbolString (see @a DataType#writeSymbols()).
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
using std::map;
|
||||
using std::list;
|
||||
|
||||
@@ -80,12 +80,20 @@ using std::list;
|
||||
/** the type for data output format options. */
|
||||
typedef int OutputFormat;
|
||||
|
||||
/* the bit flags for @a OutputFormat. */
|
||||
static const unsigned int OF_NAMES = 0x01; //!< include names.
|
||||
static const unsigned int OF_UNITS = 0x02; //!< include units.
|
||||
static const unsigned int OF_COMMENTS = 0x04; //!< include comments.
|
||||
static const unsigned int OF_NUMERIC = 0x08; //!< numeric format (keep numeric value of value=name pairs).
|
||||
static const unsigned int OF_JSON = 0x10; //!< JSON format.
|
||||
/** bit flag for @a OutputFormat: include names. */
|
||||
#define OF_NAMES 0x01
|
||||
|
||||
/** bit flag for @a OutputFormat: include units. */
|
||||
#define OF_UNITS 0x02
|
||||
|
||||
/** bit flag for @a OutputFormat: include comments. */
|
||||
#define OF_COMMENTS 0x04
|
||||
|
||||
/** bit flag for @a OutputFormat: numeric format (keep numeric value of value=name pairs). */
|
||||
#define OF_NUMERIC 0x08
|
||||
|
||||
/** bit flag for @a OutputFormat: JSON format. */
|
||||
#define OF_JSON 0x10
|
||||
|
||||
/** the message part in which a data field is stored. */
|
||||
enum PartType {
|
||||
@@ -94,21 +102,44 @@ enum PartType {
|
||||
pt_slaveData, //!< stored in slave data
|
||||
};
|
||||
|
||||
/* flags for @a DataType. */
|
||||
static const unsigned int ADJ = 0x01; //!< adjustable length, bitCount is maximum length
|
||||
static const unsigned int BCD = 0x02; //!< binary representation is BCD
|
||||
static const unsigned int REV = 0x04; //!< reverted binary representation (most significant byte first)
|
||||
static const unsigned int SIG = 0x08; //!< signed value
|
||||
static const unsigned int IGN = 0x10; //!< ignore value during read and write
|
||||
static const unsigned int FIX = 0x20; //!< fixed width formatting
|
||||
static const unsigned int REQ = 0x40; //!< value may not be NULL
|
||||
/** binary representation is hex converted to decimal and interpreted as 2 digits (also requires #BCD). */
|
||||
static const unsigned int HCD = 0x80;
|
||||
static const unsigned int EXP = 0x100; //!< exponential numeric representation
|
||||
static const unsigned int DAY = 0x200; //!< forced value list defaulting to week days
|
||||
static const unsigned int NUM = 0x400; //!< numeric type with base class @a NumberDataType
|
||||
static const unsigned int SPE = 0x800; //!< special marker for certain types
|
||||
static const unsigned int CON = 0x1000; //!< marker for a constant value
|
||||
/** bit flag for @a DataType: adjustable length, bitCount is maximum length. */
|
||||
#define ADJ 0x01
|
||||
|
||||
/** bit flag for @a DataType: binary representation is BCD. */
|
||||
#define BCD 0x02
|
||||
|
||||
/** bit flag for @a DataType: reverted binary representation (most significant byte first). */
|
||||
#define REV 0x04
|
||||
|
||||
/** bit flag for @a DataType: signed value. */
|
||||
#define SIG 0x08
|
||||
|
||||
/** bit flag for @a DataType: ignore value during read and write. */
|
||||
#define IGN 0x10
|
||||
|
||||
/** bit flag for @a DataType: fixed width formatting. */
|
||||
#define FIX 0x20
|
||||
|
||||
/** bit flag for @a DataType: value may not be NULL. */
|
||||
#define REQ 0x40
|
||||
|
||||
/** bit flag for @a DataType: binary representation is hex converted to decimal and interpreted as 2 digits (also requires #BCD). */
|
||||
#define HCD 0x80
|
||||
|
||||
/** bit flag for @a DataType: exponential numeric representation. */
|
||||
#define EXP 0x100
|
||||
|
||||
/** bit flag for @a DataType: forced value list defaulting to week days. */
|
||||
#define DAY 0x200
|
||||
|
||||
/** bit flag for @a DataType: numeric type with base class @a NumberDataType. */
|
||||
#define NUM 0x400
|
||||
|
||||
/** bit flag for @a DataType: special marker for certain types. */
|
||||
#define SPE 0x800
|
||||
|
||||
/** bit flag for @a DataType: marker for a constant value. */
|
||||
#define CON 0x1000
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -27,7 +27,9 @@
|
||||
#include <fstream>
|
||||
#include "lib/ebus/result.h"
|
||||
|
||||
/** @file device.h
|
||||
namespace ebusd {
|
||||
|
||||
/** @file lib/ebus/device.h
|
||||
* Classes providing access to the eBUS.
|
||||
*
|
||||
* A @a Device is either a @a SerialDevice directly connected to a local tty
|
||||
@@ -36,8 +38,6 @@
|
||||
* to a file and/or forwarding it to a logging function.
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
/**
|
||||
* Interface for listening to data received on/sent to a device.
|
||||
*/
|
||||
|
||||
@@ -29,7 +29,9 @@
|
||||
#include "lib/ebus/symbol.h"
|
||||
#include "lib/ebus/result.h"
|
||||
|
||||
/** @file filereader.h
|
||||
namespace ebusd {
|
||||
|
||||
/** @file lib/ebus/filereader.h
|
||||
* Helper class and constants for reading configuration files.
|
||||
*
|
||||
* The @a FileReader template class allows to read CSV compliant text files
|
||||
@@ -39,8 +41,6 @@
|
||||
* with a "*" symbol.
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
using std::string;
|
||||
using std::ostream;
|
||||
using std::ostringstream;
|
||||
|
||||
@@ -30,7 +30,9 @@
|
||||
#include "lib/ebus/result.h"
|
||||
#include "lib/ebus/symbol.h"
|
||||
|
||||
/** @file message.h
|
||||
namespace ebusd {
|
||||
|
||||
/** @file lib/ebus/message.h
|
||||
* Classes and functions for decoding and encoding of complete messages on the
|
||||
* eBUS to and from readable values.
|
||||
*
|
||||
@@ -57,8 +59,6 @@
|
||||
* template class.
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
using std::binary_function;
|
||||
using std::priority_queue;
|
||||
using std::deque;
|
||||
|
||||
@@ -19,16 +19,16 @@
|
||||
#ifndef LIB_EBUS_RESULT_H_
|
||||
#define LIB_EBUS_RESULT_H_
|
||||
|
||||
/** @file result.h
|
||||
namespace ebusd {
|
||||
|
||||
/** @file lib/ebus/result.h
|
||||
* Functions, and constants related to execution results.
|
||||
*
|
||||
* The #result_t codes defined here are used by many functions to emit the
|
||||
* The @a result_t codes defined here are used by many functions to emit the
|
||||
* result of the function call. Zero and positive values indicate success,
|
||||
* whereas negative values indicate failure.
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
/** type for result code. */
|
||||
enum result_t {
|
||||
RESULT_OK = 0, //!< success
|
||||
|
||||
+12
-8
@@ -27,7 +27,9 @@
|
||||
#include <vector>
|
||||
#include "lib/ebus/result.h"
|
||||
|
||||
/** @file symbol.h
|
||||
namespace ebusd {
|
||||
|
||||
/** @file lib/ebus/symbol.h
|
||||
* Classes, functions, and constants related to symbols on the eBUS.
|
||||
*
|
||||
* The @a SymbolString class is used for escaping or unescaping a sequence of
|
||||
@@ -63,17 +65,19 @@
|
||||
* non-acknowledge, the receiving slave has to repeat its data once.
|
||||
*/
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
using std::string;
|
||||
using std::vector;
|
||||
|
||||
/** escape symbol, either followed by 0x00 for the value 0xA9, or 0x01 for the value 0xAA. */
|
||||
static const unsigned char ESC = 0xA9;
|
||||
static const unsigned char SYN = 0xAA; //!< synchronization symbol
|
||||
static const unsigned char ACK = 0x00; //!< positive acknowledge
|
||||
static const unsigned char NAK = 0xFF; //!< negative acknowledge
|
||||
static const unsigned char BROADCAST = 0xFE; //!< the broadcast destination address
|
||||
#define ESC 0xA9
|
||||
/** synchronization symbol. */
|
||||
#define SYN 0xAA
|
||||
/** positive acknowledge symbol. */
|
||||
#define ACK 0x00
|
||||
/** negative acknowledge symbol. */
|
||||
#define NAK 0xFF
|
||||
/** the broadcast destination address. */
|
||||
#define BROADCAST 0xFE
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
# include <mach/mach.h>
|
||||
#endif
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
#ifdef __MACH__
|
||||
static bool clockInitialized = false;
|
||||
static clock_serv_t clockServ;
|
||||
@@ -41,3 +43,5 @@ void clockGettime(struct timespec* t) {
|
||||
clock_gettime(CLOCK_REALTIME, t);
|
||||
#endif
|
||||
}
|
||||
|
||||
} // namespace ebusd
|
||||
|
||||
@@ -21,7 +21,9 @@
|
||||
|
||||
#include <time.h>
|
||||
|
||||
/** \file clock.h */
|
||||
namespace ebusd {
|
||||
|
||||
/** \file lib/utils/clock.h */
|
||||
|
||||
/**
|
||||
* Get the real time system clock.
|
||||
@@ -29,4 +31,6 @@
|
||||
*/
|
||||
void clockGettime(struct timespec* t);
|
||||
|
||||
} // namespace ebusd
|
||||
|
||||
#endif // LIB_UTILS_CLOCK_H_
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
#include <string.h>
|
||||
#include "lib/utils/clock.h"
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
/** the name of each @a LogFacility. */
|
||||
static const char *facilityNames[] = {
|
||||
"main",
|
||||
@@ -182,3 +184,5 @@ void logWrite(const char* facility, const LogLevel level, const char* message, .
|
||||
logWrite(facility, levelNames[level], message, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
|
||||
} // namespace ebusd
|
||||
|
||||
+6
-2
@@ -19,7 +19,9 @@
|
||||
#ifndef LIB_UTILS_LOG_H_
|
||||
#define LIB_UTILS_LOG_H_
|
||||
|
||||
/** \file log.h */
|
||||
namespace ebusd {
|
||||
|
||||
/** \file lib/utils/log.h */
|
||||
|
||||
/** the available log facilities. */
|
||||
enum LogFacility {
|
||||
@@ -60,7 +62,7 @@ int parseLogFacilities(const char* facilities);
|
||||
|
||||
/**
|
||||
* Get the log facility as string.
|
||||
* @param level the @a LogFacility.
|
||||
* @param facility the @a LogFacility.
|
||||
* @return the log facility as string.
|
||||
*/
|
||||
const char* getLogFacilityStr(LogFacility facility);
|
||||
@@ -163,4 +165,6 @@ void logWrite(const char* facility, const LogLevel level, const char* message, .
|
||||
#define logOtherDebug(facility, ...) \
|
||||
(needsLog(lf_other, ll_debug) ? logWrite(facility, ll_debug, __VA_ARGS__) : void(0))
|
||||
|
||||
} // namespace ebusd
|
||||
|
||||
#endif // LIB_UTILS_LOG_H_
|
||||
|
||||
@@ -22,7 +22,9 @@
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
|
||||
/** \file notify.h */
|
||||
namespace ebusd {
|
||||
|
||||
/** \file lib/utils/notify.h */
|
||||
|
||||
/**
|
||||
* class to notify other thread per pipe.
|
||||
@@ -69,6 +71,6 @@ class Notify {
|
||||
int m_sendfd;
|
||||
};
|
||||
|
||||
} // namespace ebusd
|
||||
|
||||
#endif // LIB_UTILS_NOTIFY_H_
|
||||
|
||||
|
||||
|
||||
@@ -24,7 +24,9 @@
|
||||
#include <list>
|
||||
#include "lib/utils/clock.h"
|
||||
|
||||
/** \file queue.h */
|
||||
namespace ebusd {
|
||||
|
||||
/** \file lib/utils/queue.h */
|
||||
|
||||
using std::list;
|
||||
|
||||
@@ -152,4 +154,6 @@ class Queue {
|
||||
pthread_cond_t m_cond;
|
||||
};
|
||||
|
||||
} // namespace ebusd
|
||||
|
||||
#endif // LIB_UTILS_QUEUE_H_
|
||||
|
||||
@@ -27,6 +27,8 @@
|
||||
#include <string>
|
||||
#include "lib/utils/clock.h"
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
using std::streamsize;
|
||||
|
||||
RotateFile::~RotateFile() {
|
||||
@@ -86,3 +88,5 @@ void RotateFile::write(unsigned char* value, unsigned int size, bool received) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace ebusd
|
||||
|
||||
@@ -25,7 +25,9 @@
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
|
||||
/** @file rotatefile.h
|
||||
namespace ebusd {
|
||||
|
||||
/** \file lib/utils/rotatefile.h
|
||||
* Helpers for writing to rotating files.
|
||||
*/
|
||||
|
||||
@@ -92,5 +94,6 @@ class RotateFile {
|
||||
uint64_t m_fileSize;
|
||||
};
|
||||
|
||||
#endif // LIB_UTILS_ROTATEFILE_H_
|
||||
} // namespace ebusd
|
||||
|
||||
#endif // LIB_UTILS_ROTATEFILE_H_
|
||||
|
||||
@@ -23,7 +23,9 @@
|
||||
#include <string.h>
|
||||
#include <cstdlib>
|
||||
|
||||
TCPSocket::TCPSocket(int sfd, struct sockaddr_in* address) : m_sfd(sfd) {
|
||||
namespace ebusd {
|
||||
|
||||
TCPSocket::TCPSocket(int sfd, socketaddress* address) : m_sfd(sfd) {
|
||||
char ip[17];
|
||||
inet_ntop(AF_INET, (struct in_addr*)&(address->sin_addr.s_addr), ip, (socklen_t)sizeof(ip)-1);
|
||||
m_ip = ip;
|
||||
@@ -36,7 +38,7 @@ bool TCPSocket::isValid() {
|
||||
|
||||
|
||||
TCPSocket* TCPClient::connect(const string& server, const uint16_t& port) {
|
||||
struct sockaddr_in address;
|
||||
socketaddress address;
|
||||
int ret;
|
||||
|
||||
memset(reinterpret_cast<char*>(&address), 0, sizeof(address));
|
||||
@@ -76,7 +78,7 @@ int TCPServer::start() {
|
||||
return 0;
|
||||
}
|
||||
m_lfd = socket(AF_INET, SOCK_STREAM, 0);
|
||||
struct sockaddr_in address;
|
||||
socketaddress address;
|
||||
|
||||
memset(&address, 0, sizeof(address));
|
||||
|
||||
@@ -107,7 +109,7 @@ TCPSocket* TCPServer::newSocket() {
|
||||
if (!m_listening) {
|
||||
return NULL;
|
||||
}
|
||||
struct sockaddr_in address;
|
||||
socketaddress address;
|
||||
socklen_t len = sizeof(address);
|
||||
|
||||
memset(&address, 0, sizeof(address));
|
||||
@@ -119,3 +121,4 @@ TCPSocket* TCPServer::newSocket() {
|
||||
return new TCPSocket(sfd, &address);
|
||||
}
|
||||
|
||||
} // namespace ebusd
|
||||
|
||||
@@ -24,7 +24,12 @@
|
||||
#include <stdint.h>
|
||||
#include <string>
|
||||
|
||||
/** \file tcpsocket.h */
|
||||
/** typedef for referencing @a sockaddr_in within namespace. */
|
||||
typedef struct sockaddr_in socketaddress;
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
/** \file lib/utils/tcpsocket.h */
|
||||
|
||||
using std::string;
|
||||
|
||||
@@ -35,7 +40,7 @@ using std::string;
|
||||
#endif
|
||||
|
||||
/**
|
||||
* class for low level tcp socket operations. (open, close, send, receive).
|
||||
* Class for low level tcp socket operations. (open, close, send, receive).
|
||||
*/
|
||||
class TCPSocket {
|
||||
public:
|
||||
@@ -99,14 +104,14 @@ class TCPSocket {
|
||||
uint16_t m_port;
|
||||
|
||||
/** ip address of tcp socket */
|
||||
string m_ip;
|
||||
string m_ip;
|
||||
|
||||
/**
|
||||
* private constructor, limited access only for friend classes.
|
||||
* @param sfd the file desctriptor of tcp socket.
|
||||
* @param sfd the file descriptor of tcp socket.
|
||||
* @param address struct which holds the ip address.
|
||||
*/
|
||||
TCPSocket(int sfd, struct sockaddr_in* address);
|
||||
TCPSocket(int sfd, socketaddress* address);
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -174,5 +179,6 @@ class TCPServer {
|
||||
bool m_listening;
|
||||
};
|
||||
|
||||
#endif // LIB_UTILS_TCPSOCKET_H_
|
||||
} // namespace ebusd
|
||||
|
||||
#endif // LIB_UTILS_TCPSOCKET_H_
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
#include "lib/utils/thread.h"
|
||||
#include "lib/utils/clock.h"
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
void* Thread::runThread(void* arg) {
|
||||
reinterpret_cast<Thread*>(arg)->enter();
|
||||
return NULL;
|
||||
@@ -102,3 +104,5 @@ bool WaitThread::Wait(int seconds) {
|
||||
pthread_mutex_unlock(&m_mutex);
|
||||
return isRunning();
|
||||
}
|
||||
|
||||
} // namespace ebusd
|
||||
|
||||
@@ -21,7 +21,9 @@
|
||||
|
||||
#include <pthread.h>
|
||||
|
||||
/** \file thread.h */
|
||||
namespace ebusd {
|
||||
|
||||
/** \file lib/utils/thread.h */
|
||||
|
||||
/**
|
||||
* wrapper class for pthread.
|
||||
@@ -140,4 +142,6 @@ class WaitThread : public Thread {
|
||||
pthread_cond_t m_cond;
|
||||
};
|
||||
|
||||
} // namespace ebusd
|
||||
|
||||
#endif // LIB_UTILS_THREAD_H_
|
||||
|
||||
+16
-1
@@ -32,9 +32,12 @@
|
||||
#include <string>
|
||||
#include "lib/utils/tcpsocket.h"
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
using std::ostringstream;
|
||||
using std::cin;
|
||||
using std::cout;
|
||||
using std::string;
|
||||
using std::endl;
|
||||
|
||||
/** A structure holding all program options. */
|
||||
@@ -117,7 +120,7 @@ error_t parse_opt(int key, char *arg, struct argp_state *state) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
string fetchData(TCPSocket* socket, bool& listening) {
|
||||
string fetchData(ebusd::TCPSocket* socket, bool& listening) {
|
||||
char data[1024];
|
||||
ssize_t datalen;
|
||||
ostringstream ostream;
|
||||
@@ -289,6 +292,13 @@ void connect(const char* host, uint16_t port, char* const *args, int argCount) {
|
||||
delete client;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Main function.
|
||||
* @param argc the number of command line arguments.
|
||||
* @param argv the command line arguments.
|
||||
* @return the exit code.
|
||||
*/
|
||||
int main(int argc, char* argv[]) {
|
||||
struct argp argp = { argpoptions, parse_opt, argpargsdoc, argpdoc, NULL, NULL, NULL };
|
||||
setenv("ARGP_HELP_FMT", "no-dup-args-note", 0);
|
||||
@@ -300,3 +310,8 @@ int main(int argc, char* argv[]) {
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
} // namespace ebusd
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
return ebusd::main(argc, argv);
|
||||
}
|
||||
|
||||
@@ -30,6 +30,8 @@
|
||||
#include "lib/ebus/device.h"
|
||||
#include "lib/ebus/result.h"
|
||||
|
||||
namespace ebusd {
|
||||
|
||||
using std::hex;
|
||||
using std::fstream;
|
||||
using std::cout;
|
||||
@@ -130,6 +132,12 @@ error_t parse_opt(int key, char *arg, struct argp_state *state) {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Main function.
|
||||
* @param argc the number of command line arguments.
|
||||
* @param argv the command line arguments.
|
||||
* @return the exit code.
|
||||
*/
|
||||
int main(int argc, char* argv[]) {
|
||||
struct argp argp = { argpoptions, parse_opt, argpargsdoc, argpdoc, NULL, NULL, NULL };
|
||||
setenv("ARGP_HELP_FMT", "no-dup-args-note", 0);
|
||||
@@ -171,3 +179,8 @@ int main(int argc, char* argv[]) {
|
||||
exit(EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
} // namespace ebusd
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
return ebusd::main(argc, argv);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user