summaryrefslogtreecommitdiff
path: root/cpp/src/FreezeScript/DumpDescriptors.cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2004-04-23 19:27:48 +0000
committerMark Spruiell <mes@zeroc.com>2004-04-23 19:27:48 +0000
commit537d42cd60f96f3bc81f2e3edde22ca2241b1470 (patch)
treec58533488ea04fda84e70525f87bbef83a212d1b /cpp/src/FreezeScript/DumpDescriptors.cpp
parentmore error checking (diff)
downloadice-537d42cd60f96f3bc81f2e3edde22ca2241b1470.tar.bz2
ice-537d42cd60f96f3bc81f2e3edde22ca2241b1470.tar.xz
ice-537d42cd60f96f3bc81f2e3edde22ca2241b1470.zip
more error handling; make facet name accessible to <record>
Diffstat (limited to 'cpp/src/FreezeScript/DumpDescriptors.cpp')
-rw-r--r--cpp/src/FreezeScript/DumpDescriptors.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/cpp/src/FreezeScript/DumpDescriptors.cpp b/cpp/src/FreezeScript/DumpDescriptors.cpp
index ffc30911812..bcc46d72f0d 100644
--- a/cpp/src/FreezeScript/DumpDescriptors.cpp
+++ b/cpp/src/FreezeScript/DumpDescriptors.cpp
@@ -88,6 +88,7 @@ struct ExecuteInfo
Ice::CommunicatorPtr communicator;
Db* db;
DbTxn* txn;
+ string facet;
SymbolTablePtr symbolTable;
DumpMap dumpMap;
Slice::TypePtr keyType;
@@ -1283,6 +1284,8 @@ FreezeScript::RecordDescriptor::execute(const SymbolTablePtr& sym, ExecuteInfo*
Destroyer<DataPtr> keyDataDestroyer(keyData);
DataPtr valueData = _factory->create(info->valueType, true);
Destroyer<DataPtr> valueDataDestroyer(valueData);
+ DataPtr facetData = _factory->createString(info->facet, true);
+ Destroyer<DataPtr> facetDataDestroyer(facetData);
//
// Unmarshal the key and value.
@@ -1309,6 +1312,7 @@ FreezeScript::RecordDescriptor::execute(const SymbolTablePtr& sym, ExecuteInfo*
SymbolTablePtr st = new SymbolTableI(_factory, _unit, _errorReporter, info, info->symbolTable);
st->add("key", keyData);
st->add("value", valueData);
+ st->add("facet", facetData);
ExecutableContainerDescriptor::execute(st, info);
}
}
@@ -1466,11 +1470,12 @@ FreezeScript::DumpDBDescriptor::execute(const SymbolTablePtr&, ExecuteInfo*)
}
void
-FreezeScript::DumpDBDescriptor::dump(const Ice::CommunicatorPtr& communicator, Db* db, DbTxn* txn)
+FreezeScript::DumpDBDescriptor::dump(const Ice::CommunicatorPtr& communicator, Db* db, DbTxn* txn, const string& facet)
{
_info->communicator = communicator;
_info->db = db;
_info->txn = txn;
+ _info->facet = facet;
try
{