diff --git a/FindPIP.cmake b/FindPIP.cmake index a8a28753..c7973a57 100644 --- a/FindPIP.cmake +++ b/FindPIP.cmake @@ -1,11 +1,11 @@ -if (${WIN32}) +if (WIN32) find_package(MinGW REQUIRED) find_library(PIP_LIBRARY pip ${MINGW_LIB}) set(PIP_INCLUDES ${MINGW_INCLUDE}/pip) set(PIP_CMG ${MINGW_BIN}/pip_cmg.exe) else () find_library(PIP_LIBRARY pip /usr/lib/) - if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux") + if ("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") find_library(PTHREAD_LIBRARY pthread) find_library(DL_LIBRARY dl) list(APPEND PIP_LIBRARY ${PTHREAD_LIBRARY} ${DL_LIBRARY}) @@ -31,12 +31,12 @@ endif () macro (pip_code_model SRC RESULT) set(RESULT "") - set(OPTIONS "") + set(OPTS "") set(_IS_OPT false) foreach (_A ${ARGN}) #message(STATUS ${_A}) if (_IS_OPT) - set (OPTIONS ${_A}) + set (OPTS ${_A}) else () if ("${_A}" STREQUAL "OPTIONS") set(_IS_OPT true) @@ -47,7 +47,7 @@ macro (pip_code_model SRC RESULT) endforeach() #message(STATUS "src = ${CMAKE_CURRENT_SOURCE_DIR}/${SRC}") #message(STATUS "result = ${RESULT}") - #message(STATUS "options = ${OPTIONS}") + #message(STATUS "options = ${OPTS}") set(NEED_PARSE FALSE CACHE BOOL "NEED_PARSE" FORCE) if (DEFINED CACHE_CMG_FILES) string(REPLACE " " ";" CMG_LIST_C "${CACHE_CMG_FILES}") @@ -71,8 +71,8 @@ macro (pip_code_model SRC RESULT) endif () if (NEED_PARSE) message(STATUS "Creating code model based on \"${SRC}\", please wait ... ") - #message(STATUS "exec \"-qP ${OPTIONS} -o ${PROJECT_NAME}_ccm -I${PIP_INCLUDES} ${SRC}\"") - execute_process(COMMAND ${PIP_CMG} -qP ${OPTIONS} -o ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_ccm -I${PIP_INCLUDES} ${CMAKE_CURRENT_SOURCE_DIR}/${SRC} OUTPUT_VARIABLE CMG_OUT) + #message(STATUS "exec \"-qP ${OPTS} -o ${PROJECT_NAME}_ccm -I${PIP_INCLUDES} ${SRC}\"") + execute_process(COMMAND ${PIP_CMG} -qP ${OPTS} -o ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}_ccm -I${PIP_INCLUDES} ${CMAKE_CURRENT_SOURCE_DIR}/${SRC} OUTPUT_VARIABLE CMG_OUT) message(STATUS "Creating code model done, to use it include \"${PROJECT_NAME}_ccm.h\"") string(REPLACE "\n" ";" CMG_LIST "${CMG_OUT}") string(REPLACE "\n" " " CMG_LIST_S "${CMG_OUT}") diff --git a/src/io/piconnection.cpp b/src/io/piconnection.cpp index ec00565b..2355987a 100755 --- a/src/io/piconnection.cpp +++ b/src/io/piconnection.cpp @@ -76,11 +76,6 @@ PIVector PIConnection::_connections; -PIConnection::PIConnection(): PIObject() { - _connections << this; -} - - PIConnection::PIConnection(const PIString & name): PIObject(name) { _connections << this; } @@ -125,6 +120,7 @@ bool PIConnection::configure(PIConfig & conf, const PIString & name_) { removeAllFilters(); removeAllDevices(); setName(name_); + if (name_.isEmpty()) piCoutObj << "Warning, can't configure connection with empty name"; PIConfig::Entry ce(conf.getValue(name_)); PIConfig::Branch db(ce.getValue("device").children()), fb(ce.getValue("filter").children()), cb(ce.getValue("channel").children()), sb(ce.getValue("sender").children()); diff --git a/src/io/piconnection.h b/src/io/piconnection.h index cf995c36..3c87ead0 100755 --- a/src/io/piconnection.h +++ b/src/io/piconnection.h @@ -32,12 +32,8 @@ class PIP_EXPORT PIConnection: public PIObject { PIOBJECT_SUBCLASS(PIConnection, PIObject) public: - - //! Constructs an empty connection - PIConnection(); - - //! Constructs connection with name "name" - PIConnection(const PIString & name); + //! Constructs connection with name "name", or with default name = "connection" + PIConnection(const PIString & name = PIStringAscii("connection")); //! Constructs connection and configure it from config file "config" from section "name" PIConnection(const PIString & config, const PIString & name); @@ -50,11 +46,11 @@ public: /*! \brief Configure connection from config file "config" from section "name". Returns if configuration was successful * \details \b Warning: all devices, filters and channels removed before configure! */ - bool configureFromConfig(const PIString & config, const PIString & name); + bool configureFromConfig(const PIString & config, const PIString & name = PIStringAscii("connection")); /*! \brief Configure connection from config content "string" from section "name". Returns if configuration was successful * \details \b Warning: all devices, filters and channels removed before configure! */ - bool configureFromString(PIString * string, const PIString & name); + bool configureFromString(PIString * string, const PIString & name = PIStringAscii("connection")); //! Returns config file section of current connection configuration PIString makeConfig() const;