TalanSoft Toolkits  201707
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | List of all members
iUnknown Struct Referenceabstract
Inheritance diagram for iUnknown:
iAnimation iAnimationKeysSet iAnimationMixer iAnimationTime iBitmapBase iBitmapFormat iBitmapLoader iBitmapSaver iBoundingVolume iBufferDecoder iBufferEncoder iCamera iCanvas iCharacter iCharacterNode iCollection iCollide iCollideCharacter iCollideObject iCollideQuery iCollideQueryTriangles iCollideResponseSink iCollideResponseTable iCollideScene iCollideShape iCommandSink iConcurrent iConsole iConsoleSink iCrypto iCryptoHash iCryptoRand iCURL iD3D9Graphics iD3D9LostDeviceSink iDampedSpring1 iDampedSpring2 iDampedSpring3 iDampedSpring4 iDataTable iDataTableReadStack iDataTableSink iDataTableWriteStack iDepthStencilStates iDeviceResource iDeviceResourceManager iDispatch iDrawOperation iDrawOperationSet iDynamicsJoint iDynamicsMaterial iDynamicsVehicle iExecutor iExplorerItemContainer iExplorerItemContainerGeneric iExplorerItemTypeHandler iExpression iExpressionContext iExpressionURLResolver iExpressionVariable iFile iFileBase iFileEnumSink iFileMemory iFileSystem iFileSystemEnumerator iFixedStates iFont iFrustum iFuture iGameCtrl iGeometry iGeometryModifier iGeometrySubset iGraphics iGraphicsContext iGraphicsDrawOpCapture iGraphicsDriver iHString iHStringCharIt iImage iImageMap iIntersection iIsUniqueNameSink iIterator iJpegReader iJpegWriter iJsonParserSink iJsonWriter iJsonWriterSink iLang iMaterial iMaterialLibrary iMaterialLibrarySink iMath iMessageDesc iMessageHandler iMessageQueue iModuleDef iNUSpline iObjectTypeDef iOcclusionQuery iOSGraphicsAPI iOSProcess iOSProcessEnumSink iOSProcessManager iOSWindow iOSWindowGeneric iOSWindowOSX iOSWindowWindows iOSWindowWindowsSink iOverlay iPainter iPainterDrawSet iPainterLight iPainterObject iPainterRenderContext iPainterRenderContextSink iPainterRenderPath iPainterShader iPainterShaderCache iPainterShaderCacheSink iPainterShaderCompilerSink iPainterShadowCache iPainterStates iPainterVisibilityTestSink iParticleSystem iPixelFormat iProf iProfDraw iRasterizerStates iRegex iResourceFile iResourceFileLoader iResources iRunnable iRunnableQueue iSamplerStates iSceneEnumSink iSceneFactory iSceneLoader iScriptingHost iScriptObject iScriptObjectEnumSink iSearchable iSearchContainer iSerializable iSoundData iSoundDataLoader iSoundDriver iSoundDriverBuffer iSoundDriverBufferDataSink iSoundFactory iSoundFormat iSoundMixer iSoundMixer3D iStringTokenizer iTestInteropForEach iTestInteropObject iTestInteropSink iTextObject iTextOccluder iThread iTime iToString iTransform iUIContext iURLFileHandler iVideoDecoder iViz iVizCamera iVizCell iVizObject iVizShape iVizSink iVlkPlayerSink iVlkServices iVlkWidgetTimeBar iVlkWidgetTimeline iWidgetButton iWidgetCanvas iWidgetColorPicker iWidgetComboBox iWidgetCommand iWidgetDockable iWidgetDockingManager iWidgetEditBox iWidgetExplorer iWidgetForm iWidgetGroup iWidgetLabel iWidgetListBox iWidgetMenu iWidgetMenuItem iWidgetProgressBar iWidgetPropertyBox iWidgetScrollBar iWidgetSearchBar iWidgetSink iWidgetSplitter iWidgetTab iWidgetText iWidgetToolbar iWidgetToolbarGroup iWidgetTree iWidgetTreeNode iWidgetVlkPlayer iXmlParserSink iZip iZipArchWrite iVlk iVlkAction iVlkActionDesc iVlkActionSink iVlkCamera iVlkEntityClassDesc iVlkEntitySink iVlkEventClass iVlkEventClassDesc iVlkGame iVlkLayer iVlkLevel iVlkLevelDesc iVlkSelection iVlkTimeline iVlkUtils

Detailed Description

iUnknown interface {NoAutomation}

Remarks
iUnknown is the base of all ni interfaces. It support reference counting and sanity check throught the IsOK() method.

Public Member Functions

virtual tBool IsOK () const =0
 Check if the object is valid. More...
 
virtual tI32 AddRef ()=0
 Signal that one more reference of the object has been created. More...
 
virtual tI32 Release ()=0
 Release a reference of the object. More...
 
virtual void DeleteThis ()=0
 Bypass any reference counting and delete this object. More...
 
virtual void Invalidate ()=0
 Invalidate the object. More...
 
virtual iUnknownQueryInterface (const tUUID &aIID)=0
 Query an interface. More...
 
virtual void ListInterfaces (iMutableCollection *apLst, tU32 anFlags) const =0
 Fill a UUID list containing the UUIDs of the implemented interfaces. More...
 
virtual tI32 SetNumRefs (tI32 anNumRefs)=0
 Set the reference counter directly. More...
 
virtual tI32 GetNumRefs () const =0
 Get the number of references to this object. More...
 

Member Function Documentation

virtual tBool IsOK ( ) const
pure virtual

Check if the object is valid.

Returns
niTrue if the object can be used.
virtual tI32 AddRef ( )
pure virtual

Signal that one more reference of the object has been created.

Returns
the new number of reference, or eInvalidHandle if the object is not reference counted.
virtual tI32 Release ( )
pure virtual

Release a reference of the object.

Returns
the new number of reference, or eInvalidHandle if the object is not reference counted. Delete the object if there is no more reference that are used.
virtual void DeleteThis ( )
pure virtual

Bypass any reference counting and delete this object.

virtual void Invalidate ( )
pure virtual

Invalidate the object.

Remarks
This method is called when the object is not valid anymore and can't be used anymore.
This method has been added to make the objects garbage collector compatible.
virtual iUnknown* QueryInterface ( const tUUID aIID)
pure virtual

Query an interface.

Returns
NULL if the required interface cant be queried.
virtual void ListInterfaces ( iMutableCollection apLst,
tU32  anFlags 
) const
pure virtual

Fill a UUID list containing the UUIDs of the implemented interfaces.

virtual tI32 SetNumRefs ( tI32  anNumRefs)
pure virtual

Set the reference counter directly.

Remarks
This is, needless to say, dangerous and should be used only as a mean to bypass the hard reference counting when it's required.
virtual tI32 GetNumRefs ( ) const
pure virtual

Get the number of references to this object.