8 #ifdef DtIFSPEC1516_2025
12 #include <vlutil/vlTime.h>
14 class DtNetStatsFedAmbWrapper;
23 class DtNetStatsRtiAmbImpl :
public DtRtiAmbassadorImplementor
28 DtNetStatsRtiAmbImpl( rti1516_2025::RTIambassador* topLevelAmbPtr);
37 virtual ~DtNetStatsRtiAmbImpl();
39 virtual bool netStatsEnabled()
const;
40 virtual void setNetStatsEnabled(
bool shouldEnable);
43 virtual void startTimer();
44 virtual void startTimer()
const;
64 virtual rti1516_2025::ConfigurationResult connect(
67 rti1516_2025::RtiConfiguration
const* configuration =
nullptr,
68 rti1516_2025::Credentials
const* credentials =
nullptr);
76 virtual void disconnect();
95 std::wstring
const& federationName,
96 std::wstring
const& fomModule,
97 std::wstring
const& logicalTimeImplementationName = L
"");
112 std::wstring
const& federationName,
113 std::vector<std::wstring>
const& fomModules,
114 std::wstring
const& logicalTimeImplementationName = L
"");
131 virtual void createFederationExecutionWithMIM(
132 std::wstring
const& federationName,
133 std::vector<std::wstring>
const& fomModules,
134 std::wstring
const& mimModule,
135 std::wstring
const& logicalTimeImplementationName = L
"");
146 std::wstring
const& federationName);
153 virtual void listFederationExecutions();
160 virtual void listFederationExecutionMembers(std::wstring
const& federationName);
179 std::wstring
const& federateName,
180 std::wstring
const& federateType,
181 std::wstring
const& federationExecutionName,
182 std::vector<std::wstring>
const& additionalFomModules,
183 unsigned long flags);
207 std::wstring
const& synchronizationPointLabel,
208 rti1516_2025::VariableLengthData
const& userSuppliedTag);
220 std::wstring
const& synchronizationPointLabel,
221 rti1516_2025::VariableLengthData
const& userSuppliedTag,
222 rti1516_2025::FederateHandleSet
const& synchronizationSet);
234 std::wstring
const& synchronizationPointLabel,
235 bool successfully =
true);
246 std::wstring
const& label);
260 std::wstring
const& label,
261 rti1516_2025::LogicalTime
const& time);
300 virtual void abortFederationSave();
309 virtual void queryFederationSaveStatus();
320 std::wstring
const& label);
349 virtual void abortFederationRestore();
358 virtual void queryFederationRestoreStatus();
374 virtual void publishObjectClassAttributes(
376 rti1516_2025::AttributeHandleSet
const& attributes);
402 virtual void unpublishObjectClassAttributes(
404 rti1516_2025::AttributeHandleSet
const& attributes);
440 virtual void publishObjectClassDirectedInteractions(
442 rti1516_2025::InteractionClassHandleSet
const& interactionClasses);
453 virtual void unpublishObjectClassDirectedInteractions(
466 virtual void unpublishObjectClassDirectedInteractions(
468 rti1516_2025::InteractionClassHandleSet
const& interactionClasses);
482 rti1516_2025::AttributeHandleSet
const& attributes,
484 std::wstring
const& updateRateDesignator = L
"");
508 virtual void unsubscribeObjectClassAttributes(
510 rti1516_2025::AttributeHandleSet
const& attributes);
548 virtual void subscribeObjectClassDirectedInteractions(
550 rti1516_2025::InteractionClassHandleSet
const& interactionClasses,
551 bool universally =
false);
562 virtual void unsubscribeObjectClassDirectedInteractions(
575 virtual void unsubscribeObjectClassDirectedInteractions(
577 rti1516_2025::InteractionClassHandleSet
const& interactionClasses);
593 virtual void reserveObjectInstanceName(
594 std::wstring
const& objectInstanceName);
605 virtual void releaseObjectInstanceName(
606 std::wstring
const& objectInstanceName);
618 virtual void reserveMultipleObjectInstanceNames(
619 std::set<std::wstring>
const& objectInstanceNames);
630 virtual void releaseMultipleObjectInstanceNames(
631 std::set<std::wstring>
const& objectInstanceNames);
660 std::wstring
const& objectInstanceName);
674 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
675 rti1516_2025::AttributeHandleValueMap
const& attributeValues,
676 rti1516_2025::VariableLengthData
const& userSuppliedTag);
691 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
692 rti1516_2025::AttributeHandleValueMap
const& attributeValues,
693 rti1516_2025::VariableLengthData
const& userSuppliedTag,
694 rti1516_2025::LogicalTime
const& time);
709 rti1516_2025::ParameterHandleValueMap
const& parameterValues,
710 rti1516_2025::VariableLengthData
const& userSuppliedTag);
726 rti1516_2025::ParameterHandleValueMap
const& parameterValues,
727 rti1516_2025::VariableLengthData
const& userSuppliedTag,
728 rti1516_2025::LogicalTime
const& time);
742 virtual void sendDirectedInteraction(
744 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
745 rti1516_2025::ParameterHandleValueMap
const& parameterValues,
746 rti1516_2025::VariableLengthData
const& userSuppliedTag);
761 virtual rti1516_2025::MessageRetractionHandle sendDirectedInteraction(
763 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
764 rti1516_2025::ParameterHandleValueMap
const& parameterValues,
765 rti1516_2025::VariableLengthData
const& userSuppliedTag,
766 rti1516_2025::LogicalTime
const& time);
779 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
780 rti1516_2025::VariableLengthData
const& userSuppliedTag);
794 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
795 rti1516_2025::VariableLengthData
const& userSuppliedTag,
796 rti1516_2025::LogicalTime
const& time);
810 rti1516_2025::ObjectInstanceHandle
const& objectInstance);
822 virtual void requestAttributeValueUpdate(
823 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
824 rti1516_2025::AttributeHandleSet
const& attributes,
825 rti1516_2025::VariableLengthData
const& userSuppliedTag);
837 virtual void requestAttributeValueUpdate(
839 rti1516_2025::AttributeHandleSet
const& attributes,
840 rti1516_2025::VariableLengthData
const& userSuppliedTag);
855 virtual void requestAttributeTransportationTypeChange(
856 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
857 rti1516_2025::AttributeHandleSet
const& attributes,
858 rti1516_2025::TransportationTypeHandle
const& transportationType);
872 virtual void changeDefaultAttributeTransportationType(
874 rti1516_2025::AttributeHandleSet
const& attributes,
875 rti1516_2025::TransportationTypeHandle
const& transportationType);
887 virtual void queryAttributeTransportationType(
888 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
903 virtual void requestInteractionTransportationTypeChange(
905 rti1516_2025::TransportationTypeHandle
const& transportationType);
916 virtual void queryInteractionTransportationType(
937 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
938 rti1516_2025::AttributeHandleSet
const& attributes,
939 rti1516_2025::VariableLengthData
const& userSuppliedTag);
954 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
955 rti1516_2025::AttributeHandleSet
const& attributes,
956 rti1516_2025::VariableLengthData
const& userSuppliedTag);
971 virtual void confirmDivestiture(
972 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
973 rti1516_2025::AttributeHandleSet
const& confirmedAttributes,
974 rti1516_2025::VariableLengthData
const& userSuppliedTag);
990 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
991 rti1516_2025::AttributeHandleSet
const& desiredAttributes,
992 rti1516_2025::VariableLengthData
const& userSuppliedTag);
1009 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1010 rti1516_2025::AttributeHandleSet
const& desiredAttributes,
1011 rti1516_2025::VariableLengthData
const& userSuppliedTag);
1024 virtual void attributeOwnershipReleaseDenied(
1025 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1026 rti1516_2025::AttributeHandleSet
const& attributes,
1027 rti1516_2025::VariableLengthData
const& userSuppliedTag);
1040 virtual void attributeOwnershipDivestitureIfWanted(
1041 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1042 rti1516_2025::AttributeHandleSet
const& attributes,
1043 rti1516_2025::VariableLengthData
const& userSuppliedTag,
1044 rti1516_2025::AttributeHandleSet& divestedAttributes);
1059 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1060 rti1516_2025::AttributeHandleSet
const& attributes);
1075 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1076 rti1516_2025::AttributeHandleSet
const& attributes);
1089 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1090 rti1516_2025::AttributeHandleSet
const& attributes);
1103 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1123 rti1516_2025::LogicalTimeInterval
const& lookahead);
1174 rti1516_2025::LogicalTime
const& time);
1190 rti1516_2025::LogicalTime
const& time);
1205 virtual void nextMessageRequest(
1206 rti1516_2025::LogicalTime
const& time);
1221 virtual void nextMessageRequestAvailable(
1222 rti1516_2025::LogicalTime
const& time);
1238 rti1516_2025::LogicalTime
const& time);
1270 virtual bool queryGALT(rti1516_2025::LogicalTime& time);
1280 virtual void queryLogicalTime(rti1516_2025::LogicalTime& time);
1290 virtual bool queryLITS(rti1516_2025::LogicalTime& time);
1304 rti1516_2025::LogicalTimeInterval
const& lookahead);
1315 virtual void queryLookahead(rti1516_2025::LogicalTimeInterval& interval);
1329 rti1516_2025::MessageRetractionHandle
const& retraction);
1343 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1344 rti1516_2025::AttributeHandleSet
const& attributes,
1357 virtual void changeDefaultAttributeOrderType(
1359 rti1516_2025::AttributeHandleSet
const& attributes,
1390 rti1516_2025::DimensionHandleSet
const& dimensions);
1402 virtual void commitRegionModifications(
1403 rti1516_2025::RegionHandleSet
const& regions);
1417 rti1516_2025::RegionHandle
const& region);
1434 virtual rti1516_2025::ObjectInstanceHandle registerObjectInstanceWithRegions(
1436 rti1516_2025::AttributeHandleSetRegionHandleSetPairVector
const& attributesAndRegions);
1455 virtual rti1516_2025::ObjectInstanceHandle registerObjectInstanceWithRegions(
1457 rti1516_2025::AttributeHandleSetRegionHandleSetPairVector
const& attributesAndRegions,
1458 std::wstring
const& objectInstanceName);
1473 virtual void associateRegionsForUpdates(
1474 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1475 rti1516_2025::AttributeHandleSetRegionHandleSetPairVector
const& attributesAndRegions);
1489 virtual void unassociateRegionsForUpdates(
1490 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1491 rti1516_2025::AttributeHandleSetRegionHandleSetPairVector
const& attributesAndRegions);
1506 virtual void subscribeObjectClassAttributesWithRegions(
1508 rti1516_2025::AttributeHandleSetRegionHandleSetPairVector
const& attributesAndRegions,
1510 std::wstring
const& updateRateDesignator = L
"");
1525 virtual void unsubscribeObjectClassAttributesWithRegions(
1527 rti1516_2025::AttributeHandleSetRegionHandleSetPairVector
const& attributesAndRegions);
1542 virtual void subscribeInteractionClassWithRegions(
1544 rti1516_2025::RegionHandleSet
const& regions,
1545 bool active =
true);
1560 virtual void unsubscribeInteractionClassWithRegions(
1562 rti1516_2025::RegionHandleSet
const& regions);
1578 virtual void sendInteractionWithRegions(
1580 rti1516_2025::ParameterHandleValueMap
const& parameterValues,
1581 rti1516_2025::RegionHandleSet
const& regions,
1582 rti1516_2025::VariableLengthData
const& userSuppliedTag);
1599 virtual rti1516_2025::MessageRetractionHandle sendInteractionWithRegions(
1601 rti1516_2025::ParameterHandleValueMap
const& parameterValues,
1602 rti1516_2025::RegionHandleSet
const& regions,
1603 rti1516_2025::VariableLengthData
const& userSuppliedTag,
1604 rti1516_2025::LogicalTime
const& time);
1619 virtual void requestAttributeValueUpdateWithRegions(
1621 rti1516_2025::AttributeHandleSetRegionHandleSetPairVector
const& attributesAndRegions,
1622 rti1516_2025::VariableLengthData
const& userSuppliedTag);
1636 std::wstring
const& federateName);
1646 virtual std::wstring getFederateName(
1657 std::wstring
const& objectClassName);
1677 rti1516_2025::ObjectInstanceHandle
const& objectInstance);
1687 std::wstring
const& objectInstanceName);
1697 rti1516_2025::ObjectInstanceHandle
const& objectInstance);
1709 std::wstring
const& attributeName);
1731 virtual double getUpdateRateValue(
1732 std::wstring
const& updateRateDesignator);
1742 virtual double getUpdateRateValueForAttribute(
1743 rti1516_2025::ObjectInstanceHandle
const& objectInstance,
1754 std::wstring
const& interactionClassName);
1776 std::wstring
const& parameterName);
1799 std::wstring
const& orderTypeName);
1808 virtual std::wstring getOrderName(
1818 virtual rti1516_2025::TransportationTypeHandle getTransportationTypeHandle(
1819 std::wstring
const& transportationTypeName);
1828 virtual std::wstring getTransportationTypeName(
1829 rti1516_2025::TransportationTypeHandle
const& transportationType);
1838 virtual rti1516_2025::DimensionHandleSet getAvailableDimensionsForObjectClass(
1848 virtual rti1516_2025::DimensionHandleSet getAvailableDimensionsForInteractionClass(
1859 std::wstring
const& dimensionName);
1878 virtual unsigned long getDimensionUpperBound(
1890 virtual rti1516_2025::DimensionHandleSet getDimensionHandleSet(
1891 rti1516_2025::RegionHandle
const& region);
1903 virtual rti1516_2025::RangeBounds getRangeBounds(
1904 rti1516_2025::RegionHandle
const& region,
1919 virtual void setRangeBounds(
1920 rti1516_2025::RegionHandle
const& region,
1922 rti1516_2025::RangeBounds
const& rangeBounds);
1931 virtual unsigned long normalizeServiceGroup(
1941 virtual unsigned long normalizeFederateHandle(
1951 virtual unsigned long normalizeObjectClassHandle(
1961 virtual unsigned long normalizeInteractionClassHandle(
1971 virtual unsigned long normalizeObjectInstanceHandle(
1972 rti1516_2025::ObjectInstanceHandle
const& objectInstance);
1982 virtual bool getObjectClassRelevanceAdvisorySwitch()
const;
1992 virtual void setObjectClassRelevanceAdvisorySwitch(
bool switchValue);
2002 virtual bool getAttributeRelevanceAdvisorySwitch()
const;
2012 virtual void setAttributeRelevanceAdvisorySwitch(
bool switchValue);
2022 virtual bool getAttributeScopeAdvisorySwitch()
const;
2032 virtual void setAttributeScopeAdvisorySwitch(
bool switchValue);
2042 virtual bool getInteractionRelevanceAdvisorySwitch()
const;
2052 virtual void setInteractionRelevanceAdvisorySwitch(
bool switchValue);
2062 virtual bool getConveyRegionDesignatorSetsSwitch()
const;
2072 virtual void setConveyRegionDesignatorSetsSwitch(
bool switchValue);
2093 virtual void setAutomaticResignDirective(
2104 virtual bool getServiceReportingSwitch()
const;
2115 virtual void setServiceReportingSwitch(
bool switchValue);
2125 virtual bool getExceptionReportingSwitch()
const;
2135 virtual void setExceptionReportingSwitch(
bool switchValue);
2145 virtual bool getSendServiceReportsToFileSwitch()
const;
2155 virtual void setSendServiceReportsToFileSwitch(
bool switchValue);
2165 virtual bool getAutoProvideSwitch()
const;
2175 virtual bool getDelaySubscriptionEvaluationSwitch()
const;
2185 virtual bool getAdvisoriesUseKnownClassSwitch()
const;
2195 virtual bool getAllowRelaxedDDMSwitch()
const;
2205 virtual bool getNonRegulatedGrantSwitch()
const;
2212 virtual bool evokeCallback(
2213 double approximateMinimumTimeInSeconds,
2214 bool unlockWhileWaiting =
false);
2221 virtual bool evokeMultipleCallbacks(
2222 double approximateMinimumTimeInSeconds,
2223 double approximateMaximumTimeInSeconds,
2224 bool unlockWhileWaiting =
false);
2232 virtual void enableCallbacks();
2240 virtual void disableCallbacks();
2245 virtual DtRtiApiUniquePtr<rti1516_2025::LogicalTimeFactory> getTimeFactory()
const;
2249 rti1516_2025::VariableLengthData
const& encodedValue)
const;
2252 rti1516_2025::VariableLengthData
const& encodedValue)
const;
2255 rti1516_2025::VariableLengthData
const& encodedValue)
const;
2257 virtual rti1516_2025::ObjectInstanceHandle decodeObjectInstanceHandle(
2258 rti1516_2025::VariableLengthData
const& encodedValue)
const;
2261 rti1516_2025::VariableLengthData
const& encodedValue)
const;
2264 rti1516_2025::VariableLengthData
const& encodedValue)
const;
2267 rti1516_2025::VariableLengthData
const& encodedValue)
const;
2269 virtual rti1516_2025::MessageRetractionHandle decodeMessageRetractionHandle(
2270 rti1516_2025::VariableLengthData
const& encodedValue)
const;
2272 virtual rti1516_2025::RegionHandle decodeRegionHandle(
2273 rti1516_2025::VariableLengthData
const& encodedValue)
const;
2278 static DtRtiAmbassadorImplementor* create(rti1516_2025::RTIambassador* topLevelAmbPtr);
2283 virtual void clearManagers();
2288 DtNetStatsFedAmbWrapper* myStatisticsFedAmb;
2289 const DtString myStatisticsFedAmbName;
2295 MAKRti::DtClock myTimer;
2300 bool myNetStatsEnabled;
2304 #endif // DtIFSPEC1516_2025
virtual void deleteRegion(Region *theRegion)
virtual char * getAttributeName(AttributeHandle theHandle, ObjectClassHandle whichClass)
virtual void federateSaveNotComplete()
OrderType
Definition: datatypes.pb.h:472
virtual ParameterHandle getParameterHandle(const char *theName, InteractionClassHandle whichClass)
virtual void unconditionalAttributeOwnershipDivestiture(ObjectHandle theObject, const AttributeHandleSet &theAttributes)
virtual void attributeOwnershipAcquisition(ObjectHandle theObject, const AttributeHandleSet &desiredAttributes, const char *theTag)
virtual EventRetractionHandle sendInteraction(InteractionClassHandle theInteraction, const ParameterHandleValuePairSet &theParameters, const FedTime &theTime, const char *theTag)
virtual ObjectHandle registerObjectInstance(ObjectClassHandle theClass, const char *theObject)
virtual void requestFederationRestore(const char *label)
virtual char * getObjectClassName(ObjectClassHandle theHandle)
virtual void disableTimeConstrained()
virtual void cancelAttributeOwnershipAcquisition(ObjectHandle theObject, const AttributeHandleSet &theAttributes)
virtual void retract(EventRetractionHandle theHandle)
virtual void flushQueueRequest(const FedTime &theTime)
virtual void disableTimeRegulation()
virtual EventRetractionHandle updateAttributeValues(ObjectHandle theObject, const AttributeHandleValuePairSet &theAttributes, const FedTime &theTime, const char *theTag)
Definition: netStatsMonitor.h:33
virtual Region * createRegion(SpaceHandle theSpace, ULong numberOfExtents)
virtual char * getParameterName(ParameterHandle theHandle, InteractionClassHandle whichClass)
virtual void queryAttributeOwnership(ObjectHandle theObject, AttributeHandle theAttribute)
virtual void publishInteractionClass(InteractionClassHandle theInteraction)
virtual void localDeleteObjectInstance(ObjectHandle theObject)
ULong InteractionClassHandle
Definition: RTItypes13.h:106
Handle ParameterHandle
Definition: RTItypes13.h:114
ServiceGroup
Definition: datatypes.pb.h:497
virtual DimensionHandle getDimensionHandle(const char *theName, SpaceHandle whichSpace)
virtual void attributeOwnershipAcquisitionIfAvailable(ObjectHandle theObject, const AttributeHandleSet &desiredAttributes)
virtual void timeAdvanceRequestAvailable(const FedTime &theTime)
virtual void requestFederationSave(const char *label, const FedTime &theTime)
virtual void modifyLookahead(const FedTime &theLookahead)
virtual FederateHandle joinFederationExecution(const char *yourName, const char *executionName, FederateAmbassadorPtr federateAmbassadorReference)
CallbackModel
Definition: datatypes.pb.h:280
virtual char * getInteractionClassName(InteractionClassHandle theHandle)
virtual void negotiatedAttributeOwnershipDivestiture(ObjectHandle theObject, const AttributeHandleSet &theAttributes, const char *theTag)
virtual ObjectHandle getObjectInstanceHandle(const char *theName)
virtual EventRetractionHandle deleteObjectInstance(ObjectHandle theObject, const FedTime &theTime, const char *theTag)
virtual void timeAdvanceRequest(const FedTime &theTime)
virtual void resignFederationExecution(ResignAction theAction)
virtual void enableTimeRegulation(const FedTime &theFederateTime, const FedTime &theLookahead)
virtual InteractionClassHandle getInteractionClassHandle(const char *theName)
virtual void changeInteractionOrderType(InteractionClassHandle theClass, OrderingHandle theType)
virtual void federateRestoreComplete()
Handle DimensionHandle
Definition: RTItypes13.h:118
virtual void destroyFederationExecution(const char *executionName)
virtual void registerFederationSynchronizationPoint(const char *label, const char *theTag)
virtual void disableAsynchronousDelivery()
virtual void unpublishObjectClass(ObjectClassHandle theClass)
virtual void unsubscribeInteractionClass(InteractionClassHandle theClass)
virtual void unsubscribeObjectClass(ObjectClassHandle theClass)
An abstract base class which must be implemented, and used by a federate.
virtual void unpublishInteractionClass(InteractionClassHandle theInteraction)
virtual void queryLookahead(FedTime &theTime)
DtRtiAmbAPIType
Definition: rtiAmbAPITypes.h:12
virtual void federateRestoreNotComplete()
virtual void createFederationExecution(const char *executionName, const char *FED)
ResignAction
Definition: datatypes.pb.h:305
virtual void cancelNegotiatedAttributeOwnershipDivestiture(ObjectHandle theObject, const AttributeHandleSet &theAttributes)
virtual void federateSaveBegun()
ULong FederateHandle
Definition: RTItypes13.h:120
virtual char * getDimensionName(DimensionHandle theHandle, SpaceHandle whichSpace)
virtual char * getObjectInstanceName(ObjectHandle theHandle)
virtual void synchronizationPointAchieved(const char *label)
virtual Boolean isAttributeOwnedByFederate(ObjectHandle theObject, AttributeHandle theAttribute)
virtual void subscribeObjectClassAttributes(ObjectClassHandle theClass, const AttributeHandleSet &attributeList, Boolean active=RTI_TRUE)
virtual void subscribeInteractionClass(InteractionClassHandle theClass, Boolean active=RTI_TRUE)
virtual void changeAttributeOrderType(ObjectHandle theObject, const AttributeHandleSet &theAttributes, OrderingHandle theType)
ULong ObjectClassHandle
Definition: RTItypes13.h:104
virtual void enableTimeConstrained()
virtual void federateSaveComplete()
virtual void enableAsynchronousDelivery()
virtual AttributeHandle getAttributeHandle(const char *theName, ObjectClassHandle whichClass)
Handle AttributeHandle
Definition: RTItypes13.h:112
virtual ObjectClassHandle getObjectClassHandle(const char *theName)