Skip to content
Snippets Groups Projects
Commit 34db27c2 authored by Mark Palange (Mani)'s avatar Mark Palange (Mani)
Browse files

CHOP-122 Mowr work on the llupdater facade... Added LLPluginProcessParent,...

CHOP-122 Mowr work on the llupdater facade... Added LLPluginProcessParent, including mockery for unit tests. Re. by Jenn
parent 0b9cd836
No related branches found
No related tags found
No related merge requests found
...@@ -7,9 +7,13 @@ if(LL_TESTS) ...@@ -7,9 +7,13 @@ if(LL_TESTS)
include(LLAddBuildTest) include(LLAddBuildTest)
endif(LL_TESTS) endif(LL_TESTS)
include(LLCommon) include(LLCommon)
include(LLMessage)
include(LLPlugin)
include_directories( include_directories(
${LLCOMMON_INCLUDE_DIRS} ${LLCOMMON_INCLUDE_DIRS}
${LLMESSAGE_INCLUDE_DIRS}
${LLPLUGIN_INCLUDE_DIRS}
) )
set(updater_service_SOURCE_FILES set(updater_service_SOURCE_FILES
...@@ -34,6 +38,8 @@ add_library(llupdaterservice ...@@ -34,6 +38,8 @@ add_library(llupdaterservice
target_link_libraries(llupdaterservice target_link_libraries(llupdaterservice
${LLCOMMON_LIBRARIES} ${LLCOMMON_LIBRARIES}
${LLMESSAGE_LIBRARIES}
${LLPLUGIN_LIBRARIES}
) )
if(LL_TESTS) if(LL_TESTS)
......
...@@ -25,6 +25,118 @@ ...@@ -25,6 +25,118 @@
#include "linden_common.h" #include "linden_common.h"
#include "llupdaterservice.h"
#include "llsingleton.h"
#include "llpluginprocessparent.h"
#include <boost/scoped_ptr.hpp>
class LLUpdaterServiceImpl : public LLPluginProcessParentOwner,
public LLSingleton<LLUpdaterServiceImpl>
{
std::string mUrl;
std::string mChannel;
std::string mVersion;
unsigned int mUpdateCheckPeriod;
bool mIsChecking;
boost::scoped_ptr<LLPluginProcessParent> mPlugin;
public:
LLUpdaterServiceImpl();
virtual ~LLUpdaterServiceImpl() {}
// LLPluginProcessParentOwner interfaces
virtual void receivePluginMessage(const LLPluginMessage &message);
virtual bool receivePluginMessageEarly(const LLPluginMessage &message);
virtual void pluginLaunchFailed();
virtual void pluginDied();
void setURL(const std::string& url);
void setChannel(const std::string& channel);
void setVersion(const std::string& version);
void setUpdateCheckPeriod(unsigned int seconds);
void startChecking();
void stopChecking();
};
LLUpdaterServiceImpl::LLUpdaterServiceImpl() :
mIsChecking(false),
mUpdateCheckPeriod(0),
mPlugin(0)
{
// Create the plugin parent, this is the owner.
mPlugin.reset(new LLPluginProcessParent(this));
}
// LLPluginProcessParentOwner interfaces
void LLUpdaterServiceImpl::receivePluginMessage(const LLPluginMessage &message)
{
}
bool LLUpdaterServiceImpl::receivePluginMessageEarly(const LLPluginMessage &message)
{
return false;
};
void LLUpdaterServiceImpl::pluginLaunchFailed()
{
};
void LLUpdaterServiceImpl::pluginDied()
{
};
void LLUpdaterServiceImpl::setURL(const std::string& url)
{
if(mUrl != url)
{
mUrl = url;
}
}
void LLUpdaterServiceImpl::setChannel(const std::string& channel)
{
if(mChannel != channel)
{
mChannel = channel;
}
}
void LLUpdaterServiceImpl::setVersion(const std::string& version)
{
if(mVersion != version)
{
mVersion = version;
}
}
void LLUpdaterServiceImpl::setUpdateCheckPeriod(unsigned int seconds)
{
if(mUpdateCheckPeriod != seconds)
{
mUpdateCheckPeriod = seconds;
}
}
void LLUpdaterServiceImpl::startChecking()
{
if(!mIsChecking)
{
mIsChecking = true;
}
}
void LLUpdaterServiceImpl::stopChecking()
{
if(mIsChecking)
{
mIsChecking = false;
}
}
//-----------------------------------------------------------------------
// Facade interface
LLUpdaterService::LLUpdaterService() LLUpdaterService::LLUpdaterService()
{ {
} }
...@@ -35,24 +147,30 @@ LLUpdaterService::~LLUpdaterService() ...@@ -35,24 +147,30 @@ LLUpdaterService::~LLUpdaterService()
void LLUpdaterService::setURL(const std::string& url) void LLUpdaterService::setURL(const std::string& url)
{ {
LLUpdaterServiceImpl::getInstance()->setURL(url);
} }
void LLUpdaterService::setChannel(const std::string& channel) void LLUpdaterService::setChannel(const std::string& channel)
{ {
LLUpdaterServiceImpl::getInstance()->setChannel(channel);
} }
void LLUpdaterService::setVersion(const std::string& version) void LLUpdaterService::setVersion(const std::string& version)
{ {
LLUpdaterServiceImpl::getInstance()->setVersion(version);
} }
void LLUpdaterService::setUpdateCheckFrequency(unsigned int seconds) void LLUpdaterService::setUpdateCheckPeriod(unsigned int seconds)
{ {
LLUpdaterServiceImpl::getInstance()->setUpdateCheckPeriod(seconds);
} }
void LLUpdaterService::startChecking() void LLUpdaterService::startChecking()
{ {
LLUpdaterServiceImpl::getInstance()->startChecking();
} }
void LLUpdaterService::stopChecking() void LLUpdaterService::stopChecking()
{ {
LLUpdaterServiceImpl::getInstance()->stopChecking();
} }
...@@ -28,6 +28,12 @@ ...@@ -28,6 +28,12 @@
class LLUpdaterService class LLUpdaterService
{ {
public:
class UsageError: public std::runtime_error
{
UsageError(const std::string& msg) : std::runtime_error(msg) {}
};
LLUpdaterService(); LLUpdaterService();
~LLUpdaterService(); ~LLUpdaterService();
...@@ -37,10 +43,10 @@ class LLUpdaterService ...@@ -37,10 +43,10 @@ class LLUpdaterService
void setChannel(const std::string& channel); void setChannel(const std::string& channel);
void setVersion(const std::string& version); void setVersion(const std::string& version);
void setUpdateCheckFrequency(unsigned int seconds); void setUpdateCheckPeriod(unsigned int seconds);
void startChecking(); void startChecking();
void stopChecking(); void stopChecking();
} };
#endif LL_UPDATERSERVICE_H #endif LL_UPDATERSERVICE_H
...@@ -33,6 +33,28 @@ ...@@ -33,6 +33,28 @@
//#define DEBUG_ON //#define DEBUG_ON
#include "../../../test/debug.h" #include "../../../test/debug.h"
#include "llevents.h"
#include "llpluginprocessparent.h"
/*****************************************************************************
* MOCK'd
*****************************************************************************/
LLPluginProcessParentOwner::~LLPluginProcessParentOwner() {}
LLPluginProcessParent::LLPluginProcessParent(LLPluginProcessParentOwner *owner)
: mOwner(owner),
mIncomingQueueMutex(NULL)
{
}
LLPluginProcessParent::~LLPluginProcessParent() {}
LLPluginMessagePipeOwner::LLPluginMessagePipeOwner(){}
LLPluginMessagePipeOwner::~LLPluginMessagePipeOwner(){}
void LLPluginProcessParent::receiveMessageRaw(const std::string &message) {}
int LLPluginMessagePipeOwner::socketError(int) { return 0; }
void LLPluginProcessParent::setMessagePipe(LLPluginMessagePipe *message_pipe) {}
void LLPluginMessagePipeOwner::setMessagePipe(class LLPluginMessagePipe *) {}
LLPluginMessage::~LLPluginMessage() {}
/***************************************************************************** /*****************************************************************************
* TUT * TUT
*****************************************************************************/ *****************************************************************************/
...@@ -47,13 +69,13 @@ namespace tut ...@@ -47,13 +69,13 @@ namespace tut
}; };
typedef test_group<llupdaterservice_data> llupdaterservice_group; typedef test_group<llupdaterservice_data> llupdaterservice_group;
typedef llviewerlogin_group::object llupdaterservice_object; typedef llupdaterservice_group::object llupdaterservice_object;
llupdaterservice_group llupdaterservicegrp("LLUpdaterService"); llupdaterservice_group llupdaterservicegrp("LLUpdaterService");
template<> template<> template<> template<>
void llupdateservice_object::test<1>() void llupdaterservice_object::test<1>()
{ {
DEBUG; DEBUG;
ensure_equals("Dummy", "true", "true"); ensure_equals("Dummy", 0, 0);
} }
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment