summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--icetray/dryice/dryice.cpp20
-rw-r--r--icetray/dryice/dryice.h6
2 files changed, 25 insertions, 1 deletions
diff --git a/icetray/dryice/dryice.cpp b/icetray/dryice/dryice.cpp
index 5223ca6..c75e536 100644
--- a/icetray/dryice/dryice.cpp
+++ b/icetray/dryice/dryice.cpp
@@ -13,6 +13,7 @@ namespace IceTray {
Ice::StringSeq args;
Ice::InitializationData id;
id.properties = Ice::createProperties();
+ id.properties->setProperty("DryIceClient.Endpoints", "default");
id.properties->setProperty("DryIce.Endpoints", "default");
id.properties->setProperty("DryIce.PoolProvider", "MockPool");
id.properties->parseCommandLineOptions("", cmdline);
@@ -43,12 +44,29 @@ namespace IceTray {
s->adp->add(replacement, id);
}
- DryIceClient::DryIceClient()
+ DryIceClient::DryIceClient() :
+ adapter(DryIce::currentDryIce->ic->createObjectAdapter("DryIceClient"))
{
}
DryIceClient::~DryIceClient()
{
+ adapter->deactivate();
+ adapter->destroy();
+ }
+
+ ServicePtr
+ DryIceClient::getService() const
+ {
+ BOOST_ASSERT(DryIce::currentDryIce);
+ BOOST_ASSERT(DryIce::currentDryIce->s);
+ return DryIce::currentDryIce->s;
+ }
+
+ Ice::ObjectAdapterPtr
+ DryIceClient::getAdapter() const
+ {
+ return adapter;
}
}
diff --git a/icetray/dryice/dryice.h b/icetray/dryice/dryice.h
index bd8443f..363956b 100644
--- a/icetray/dryice/dryice.h
+++ b/icetray/dryice/dryice.h
@@ -36,6 +36,12 @@ namespace IceTray {
{
return Prx::checkedCast(DryIce::currentDryIce->ic->stringToProxy(objectName));
}
+
+ ServicePtr getService() const;
+ Ice::ObjectAdapterPtr getAdapter() const;
+
+ private:
+ Ice::ObjectAdapterPtr adapter;
};
}