summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/FactoryTableInit.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2014-06-16 16:56:03 +0000
committerBernard Normier <bernard@zeroc.com>2014-06-16 16:56:03 +0000
commitdfbaed856c3559145ff1ce20dfdcb4c6fc7069a9 (patch)
tree146c0a563e94c948e2c6aaab80b2684919dba8f3 /cpp/src/Ice/FactoryTableInit.cpp
parentC# IceSSL fixes (diff)
downloadice-dfbaed856c3559145ff1ce20dfdcb4c6fc7069a9.tar.bz2
ice-dfbaed856c3559145ff1ce20dfdcb4c6fc7069a9.tar.xz
ice-dfbaed856c3559145ff1ce20dfdcb4c6fc7069a9.zip
Fix for ICE-5527 (simplify generated code for user exception and object factories), ICE-4832 (ice_staticId and static initialization) and partial fix for ICE-5515 (ice_staticId on C++ proxies)
Diffstat (limited to 'cpp/src/Ice/FactoryTableInit.cpp')
-rw-r--r--cpp/src/Ice/FactoryTableInit.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/cpp/src/Ice/FactoryTableInit.cpp b/cpp/src/Ice/FactoryTableInit.cpp
index fbc2bd82169..557bab6f56c 100644
--- a/cpp/src/Ice/FactoryTableInit.cpp
+++ b/cpp/src/Ice/FactoryTableInit.cpp
@@ -79,3 +79,17 @@ IceInternal::FactoryTableInit::~FactoryTableInit()
delete factoryTable;
}
}
+
+
+IceInternal::CompactIdInit::CompactIdInit(const char* typeId, int compactId) :
+ _compactId(compactId)
+{
+ assert(_compactId >= 0);
+ factoryTable->addTypeId(_compactId, typeId);
+}
+
+IceInternal::CompactIdInit::~CompactIdInit()
+{
+ factoryTable->removeTypeId(_compactId);
+}
+