Made the service-code compile on Mac OS X. Only compile, no testing though
This commit is contained in:
parent
aad7d41f1f
commit
09d8d939d2
7 changed files with 116 additions and 77 deletions
39
telldus-core/3rdparty/qtservice.cmake
vendored
39
telldus-core/3rdparty/qtservice.cmake
vendored
|
@ -1,19 +1,34 @@
|
||||||
|
|
||||||
SET( qtservice_MOC_HDRS
|
QT4_GENERATE_MOC( ${CMAKE_HOME_DIRECTORY}/3rdparty/qtservice-2.6-opensource/src/qtservice.cpp ${CMAKE_CURRENT_BINARY_DIR}/qtservice.moc )
|
||||||
${CMAKE_HOME_DIRECTORY}/3rdparty/qtsingleapplication/src/qtsingleapplication.h
|
|
||||||
${CMAKE_HOME_DIRECTORY}/3rdparty/qtsingleapplication/src/qtlocalpeer.h
|
|
||||||
)
|
|
||||||
|
|
||||||
QT4_WRAP_CPP( qtservice_MOC_SRCS ${qtservice_MOC_HDRS} )
|
|
||||||
QT4_AUTOMOC ( ${qtservice_SRCS} )
|
|
||||||
|
|
||||||
SET( qtservice_SRCS
|
SET( qtservice_SRCS
|
||||||
${CMAKE_HOME_DIRECTORY}/3rdparty/qtsingleapplication/src/qtsingleapplication.cpp
|
${CMAKE_HOME_DIRECTORY}/3rdparty/qtservice-2.6-opensource/src/qtservice.cpp
|
||||||
${CMAKE_HOME_DIRECTORY}/3rdparty/qtsingleapplication/src/qtlocalpeer.cpp
|
${CMAKE_CURRENT_BINARY_DIR}/qtservice.moc
|
||||||
# ${CMAKE_HOME_DIRECTORY}/3rdparty/qtsingleapplication/src/qtlocalserver.cpp
|
|
||||||
${qtsingleapplication_MOC_SRCS}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
IF (UNIX)
|
||||||
|
QT4_GENERATE_MOC( ${CMAKE_HOME_DIRECTORY}/3rdparty/qtservice-2.6-opensource/src/qtservice_unix.cpp ${CMAKE_CURRENT_BINARY_DIR}/qtservice_unix.moc )
|
||||||
|
|
||||||
|
SET( qtservice_MOC_HDRS
|
||||||
|
${CMAKE_HOME_DIRECTORY}/3rdparty/qtservice-2.6-opensource/src/qtunixsocket.h
|
||||||
|
${CMAKE_HOME_DIRECTORY}/3rdparty/qtservice-2.6-opensource/src/qtunixserversocket.h
|
||||||
|
)
|
||||||
|
|
||||||
|
QT4_WRAP_CPP( qtservice_MOC_SRCS ${qtservice_MOC_HDRS} )
|
||||||
|
|
||||||
|
SET( qtservice_SRCS
|
||||||
|
${qtservice_SRCS}
|
||||||
|
${CMAKE_HOME_DIRECTORY}/3rdparty/qtservice-2.6-opensource/src/qtservice_unix.cpp
|
||||||
|
${CMAKE_HOME_DIRECTORY}/3rdparty/qtservice-2.6-opensource/src/qtunixsocket.cpp
|
||||||
|
${CMAKE_HOME_DIRECTORY}/3rdparty/qtservice-2.6-opensource/src/qtunixserversocket.cpp
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/qtservice_unix.moc
|
||||||
|
${qtservice_MOC_SRCS}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
ENDIF (UNIX)
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(
|
INCLUDE_DIRECTORIES(
|
||||||
${CMAKE_HOME_DIRECTORY}/3rdparty/qtsingleapplication/src/
|
${CMAKE_HOME_DIRECTORY}/3rdparty/qtservice-2.6-opensource/src/
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
)
|
)
|
||||||
|
|
|
@ -43,9 +43,9 @@ SET(GENERATE_MAN FALSE CACHE BOOL "Enable generation of man-files")
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(driver)
|
ADD_SUBDIRECTORY(driver)
|
||||||
|
|
||||||
IF(BUILD_LIBTELLDUS-CORE_AS_SERVICE AND WIN32)
|
IF(BUILD_LIBTELLDUS-CORE_AS_SERVICE)
|
||||||
ADD_SUBDIRECTORY(telldus-service)
|
ADD_SUBDIRECTORY(telldus-service)
|
||||||
ENDIF(BUILD_LIBTELLDUS-CORE_AS_SERVICE AND WIN32)
|
ENDIF(BUILD_LIBTELLDUS-CORE_AS_SERVICE)
|
||||||
|
|
||||||
if(BUILD_TDTOOL)
|
if(BUILD_TDTOOL)
|
||||||
ADD_SUBDIRECTORY(tdtool)
|
ADD_SUBDIRECTORY(tdtool)
|
||||||
|
|
|
@ -112,7 +112,11 @@ ENDIF(USE_QT_SETTINGS_BACKEND)
|
||||||
|
|
||||||
IF (APPLE)
|
IF (APPLE)
|
||||||
#### Mac OS X ####
|
#### Mac OS X ####
|
||||||
SET( telldus-core_TARGET TelldusCore )
|
IF(BUILD_LIBTELLDUS-CORE_AS_SERVICE)
|
||||||
|
SET( telldus-core_TARGET TelldusCoreLib )
|
||||||
|
ELSE(BUILD_LIBTELLDUS-CORE_AS_SERVICE)
|
||||||
|
SET( telldus-core_TARGET TelldusCore )
|
||||||
|
ENDIF(BUILD_LIBTELLDUS-CORE_AS_SERVICE)
|
||||||
SET( telldus-core_SRCS
|
SET( telldus-core_SRCS
|
||||||
${telldus-core_SRCS}
|
${telldus-core_SRCS}
|
||||||
win/Device.cpp
|
win/Device.cpp
|
||||||
|
|
|
@ -2,13 +2,9 @@ PROJECT( telldus-service )
|
||||||
|
|
||||||
CMAKE_MINIMUM_REQUIRED( VERSION 2.6.0 )
|
CMAKE_MINIMUM_REQUIRED( VERSION 2.6.0 )
|
||||||
|
|
||||||
SET(PACKAGE_VERSION 2.99.0)
|
|
||||||
SET(PACKAGE_SOVERSION 2)
|
|
||||||
|
|
||||||
SET(BUILD_SERVICE TRUE CACHE BOOL "Build the service")
|
SET(BUILD_SERVICE TRUE CACHE BOOL "Build the service")
|
||||||
SET(BUILD_CLIENT FALSE CACHE BOOL "Build the client")
|
SET(BUILD_CLIENT FALSE CACHE BOOL "Build the client")
|
||||||
|
|
||||||
|
|
||||||
if(BUILD_SERVICE)
|
if(BUILD_SERVICE)
|
||||||
ADD_SUBDIRECTORY(service)
|
ADD_SUBDIRECTORY(service)
|
||||||
endif(BUILD_SERVICE)
|
endif(BUILD_SERVICE)
|
||||||
|
|
|
@ -14,7 +14,7 @@ SET( telldus-client_SRCS
|
||||||
)
|
)
|
||||||
|
|
||||||
SET( telldus-client_HDRS
|
SET( telldus-client_HDRS
|
||||||
../common/Message.h
|
${CMAKE_SOURCE_DIR}/driver/libtelldus-core/telldus-core.h
|
||||||
)
|
)
|
||||||
|
|
||||||
SET( telldus-client_MOC_HDRS
|
SET( telldus-client_MOC_HDRS
|
||||||
|
@ -25,6 +25,11 @@ SET( telldus-client_LIBRARIES
|
||||||
${QT_LIBRARIES}
|
${QT_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(
|
||||||
|
${CMAKE_SOURCE_DIR}/driver
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../common
|
||||||
|
)
|
||||||
|
|
||||||
QT4_WRAP_CPP( telldus-client_MOC_SRCS ${telldus-client_MOC_HDRS} )
|
QT4_WRAP_CPP( telldus-client_MOC_SRCS ${telldus-client_MOC_HDRS} )
|
||||||
QT4_AUTOMOC ( ${telldus-client_SRCS} )
|
QT4_AUTOMOC ( ${telldus-client_SRCS} )
|
||||||
|
|
||||||
|
@ -33,13 +38,12 @@ QT4_AUTOMOC ( ${telldus-client_SRCS} )
|
||||||
|
|
||||||
######## Platforms-specific, non configurable ########
|
######## Platforms-specific, non configurable ########
|
||||||
|
|
||||||
SET( telldus-client_TARGET TelldusClient )
|
SET( telldus-client_TARGET TelldusCore )
|
||||||
|
|
||||||
IF (APPLE) #### Mac OS X ####
|
IF (APPLE) #### Mac OS X ####
|
||||||
|
|
||||||
ELSEIF (WIN32) #### Windows ####
|
ELSEIF (WIN32) #### Windows ####
|
||||||
#### Windows ####
|
#### Windows ####
|
||||||
SET( telldus-client_TARGET TelldusCore )
|
|
||||||
SET( telldus-client_SRCS
|
SET( telldus-client_SRCS
|
||||||
${telldus-client_SRCS}
|
${telldus-client_SRCS}
|
||||||
../../driver/libtelldus-core/libtelldus-core.def
|
../../driver/libtelldus-core/libtelldus-core.def
|
||||||
|
@ -73,6 +77,21 @@ ADD_LIBRARY(${telldus-client_TARGET} SHARED
|
||||||
)
|
)
|
||||||
SET_SOURCE_FILES_PROPERTIES(${telldus-service_RESOURCES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
SET_SOURCE_FILES_PROPERTIES(${telldus-service_RESOURCES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
|
||||||
|
|
||||||
|
SET_PROPERTY(TARGET ${telldus-client_TARGET}
|
||||||
|
PROPERTY FRAMEWORK TRUE
|
||||||
|
)
|
||||||
|
SET_PROPERTY(TARGET ${telldus-client_TARGET}
|
||||||
|
PROPERTY PUBLIC_HEADER ${telldus-client_HDRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
SET_PROPERTY(TARGET ${telldus-client_TARGET}
|
||||||
|
PROPERTY VERSION ${PACKAGE_VERSION}
|
||||||
|
)
|
||||||
|
SET_PROPERTY(TARGET ${telldus-client_TARGET}
|
||||||
|
PROPERTY SOVERSION ${PACKAGE_SOVERSION}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES( ${telldus-client_TARGET} ${telldus-client_LIBRARIES} )
|
TARGET_LINK_LIBRARIES( ${telldus-client_TARGET} ${telldus-client_LIBRARIES} )
|
||||||
|
|
||||||
SET_TARGET_PROPERTIES(${telldus-service_TARGET} PROPERTIES
|
SET_TARGET_PROPERTIES(${telldus-service_TARGET} PROPERTIES
|
||||||
|
|
|
@ -1,49 +1,49 @@
|
||||||
|
|
||||||
#include <QLocalSocket>
|
#include <QLocalSocket>
|
||||||
#include "Manager.h"
|
#include "Manager.H"
|
||||||
#include "Message.h"
|
#include "Message.h"
|
||||||
|
|
||||||
#include <QFile>
|
#include <QFile>
|
||||||
#include <QTime>
|
#include <QTime>
|
||||||
void logMessage( const QString &message) {
|
void logMessage( const QString &message) {
|
||||||
QFile file("C:/log.txt");
|
QFile file("C:/log.txt");
|
||||||
file.open(QIODevice::Append | QIODevice::Text);
|
file.open(QIODevice::Append | QIODevice::Text);
|
||||||
QTextStream out(&file);
|
QTextStream out(&file);
|
||||||
out << QTime::currentTime().toString() << ": " << message << "\n";
|
out << QTime::currentTime().toString() << ": " << message << "\n";
|
||||||
file.close();
|
file.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
class ManagerPrivate {
|
class ManagerPrivate {
|
||||||
public:
|
public:
|
||||||
int numberOfDevices;
|
int numberOfDevices;
|
||||||
QLocalSocket s, eventSocket;
|
QLocalSocket s, eventSocket;
|
||||||
};
|
};
|
||||||
|
|
||||||
Manager *Manager::instance = 0;
|
Manager *Manager::instance = 0;
|
||||||
|
|
||||||
Manager::Manager(void) {
|
Manager::Manager(void) {
|
||||||
d = new ManagerPrivate;
|
d = new ManagerPrivate;
|
||||||
d->numberOfDevices = -1;
|
d->numberOfDevices = -1;
|
||||||
connect(&d->eventSocket, SIGNAL(readyRead()), this, SLOT(dataReceived()));
|
connect(&d->eventSocket, SIGNAL(readyRead()), this, SLOT(dataReceived()));
|
||||||
|
|
||||||
d->s.connectToServer( "TelldusCoreClient" );
|
d->s.connectToServer( "TelldusCoreClient" );
|
||||||
d->eventSocket.connectToServer( "TelldusCoreEvents" );
|
d->eventSocket.connectToServer( "TelldusCoreEvents" );
|
||||||
|
|
||||||
d->s.waitForConnected();
|
d->s.waitForConnected();
|
||||||
}
|
}
|
||||||
|
|
||||||
Manager::~Manager(void) {
|
Manager::~Manager(void) {
|
||||||
delete d;
|
delete d;
|
||||||
}
|
}
|
||||||
|
|
||||||
Manager *Manager::getInstance() {
|
Manager *Manager::getInstance() {
|
||||||
if (Manager::instance == 0) {
|
if (Manager::instance == 0) {
|
||||||
Manager::instance = new Manager();
|
Manager::instance = new Manager();
|
||||||
}
|
}
|
||||||
return Manager::instance;
|
return Manager::instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Manager::close() {
|
void Manager::close() {
|
||||||
if (Manager::instance != 0) {
|
if (Manager::instance != 0) {
|
||||||
delete Manager::instance;
|
delete Manager::instance;
|
||||||
|
@ -76,11 +76,11 @@ void Manager::dataReceived() {
|
||||||
logMessage("Data-received");
|
logMessage("Data-received");
|
||||||
}
|
}
|
||||||
|
|
||||||
QVariant Manager::send(const Message &message, const QVariant &default) {
|
QVariant Manager::send(const Message &message, const QVariant &defaultValue) {
|
||||||
logMessage(QString("%1:").arg(QString(message)));
|
logMessage(QString("%1:").arg(QString(message)));
|
||||||
if (d->s.state() != QLocalSocket::ConnectedState) {
|
if (d->s.state() != QLocalSocket::ConnectedState) {
|
||||||
logMessage("[default]");
|
logMessage("[default]");
|
||||||
return default;
|
return defaultValue;
|
||||||
}
|
}
|
||||||
d->s.write(message);
|
d->s.write(message);
|
||||||
if (d->s.waitForReadyRead(5000)) {
|
if (d->s.waitForReadyRead(5000)) {
|
||||||
|
@ -90,7 +90,7 @@ QVariant Manager::send(const Message &message, const QVariant &default) {
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
logMessage("[No return]");
|
logMessage("[No return]");
|
||||||
return default;
|
return defaultValue;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,6 @@ SET( telldus-service_SRCS
|
||||||
TelldusCore.cpp
|
TelldusCore.cpp
|
||||||
Manager.cpp
|
Manager.cpp
|
||||||
../common/Message.cpp
|
../common/Message.cpp
|
||||||
${QTSERVICE_PATH}/src/qtservice.cpp
|
|
||||||
)
|
)
|
||||||
|
|
||||||
SET( telldus-service_MOC_HDRS
|
SET( telldus-service_MOC_HDRS
|
||||||
|
@ -24,24 +23,25 @@ SET( telldus-service_LIBRARIES
|
||||||
${QT_LIBRARIES}
|
${QT_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
######## Configurable options for the platform ########
|
INCLUDE_DIRECTORIES(
|
||||||
|
${CMAKE_SOURCE_DIR}/driver
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/../common
|
||||||
|
)
|
||||||
|
|
||||||
SET(QTSERVICE_PATH CACHE PATH "Path to qtservice")
|
|
||||||
|
######## Configurable options for the platform ########
|
||||||
|
|
||||||
######## Platforms-specific, non configurable ########
|
######## Platforms-specific, non configurable ########
|
||||||
|
|
||||||
SET( telldus-service_TARGET TelldusService )
|
SET( telldus-service_TARGET TelldusService )
|
||||||
|
|
||||||
IF (APPLE) #### Mac OS X ####
|
IF (APPLE) #### Mac OS X ####
|
||||||
|
SET( telldus-service_LIBRARIES
|
||||||
|
${telldus-service_LIBRARIES}
|
||||||
|
TelldusCoreLib
|
||||||
|
)
|
||||||
ELSEIF (WIN32) #### Windows ####
|
ELSEIF (WIN32) #### Windows ####
|
||||||
ADD_DEFINITIONS( -DUNICODE )
|
ADD_DEFINITIONS( -DUNICODE )
|
||||||
INCLUDE_DIRECTORIES(
|
|
||||||
${CMAKE_SOURCE_DIR}/driver
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/../common
|
|
||||||
${QTSERVICE_PATH}/src
|
|
||||||
${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
)
|
|
||||||
SET(CMAKE_EXE_LINKER_FLAGS
|
SET(CMAKE_EXE_LINKER_FLAGS
|
||||||
"${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE"
|
"${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:CONSOLE"
|
||||||
)
|
)
|
||||||
|
@ -61,13 +61,18 @@ ELSE (APPLE) #### Linux ####
|
||||||
|
|
||||||
ENDIF (APPLE)
|
ENDIF (APPLE)
|
||||||
|
|
||||||
|
######## QtService ########
|
||||||
|
|
||||||
|
INCLUDE( ../../3rdparty/qtservice.cmake NO_POLICY_SCOPE )
|
||||||
|
SET( telldus-service_SRCS
|
||||||
|
${telldus-service_SRCS}
|
||||||
|
${qtservice_SRCS}
|
||||||
|
)
|
||||||
|
|
||||||
######## Configuring ########
|
######## Configuring ########
|
||||||
|
|
||||||
QT4_GENERATE_MOC( ${QTSERVICE_PATH}/src/qtservice.cpp ${CMAKE_CURRENT_BINARY_DIR}/qtservice.moc )
|
|
||||||
QT4_WRAP_CPP( telldus-service_MOC_SRCS ${telldus-service_MOC_HDRS} )
|
QT4_WRAP_CPP( telldus-service_MOC_SRCS ${telldus-service_MOC_HDRS} )
|
||||||
|
|
||||||
|
|
||||||
ADD_EXECUTABLE(${telldus-service_TARGET}
|
ADD_EXECUTABLE(${telldus-service_TARGET}
|
||||||
${telldus-service_SRCS}
|
${telldus-service_SRCS}
|
||||||
${telldus-service_MOC_SRCS}
|
${telldus-service_MOC_SRCS}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue