fbsdk/fbplug.h File Reference

fbplug.h File Reference
#include <kaydaradef.h>
#include <object/i/icallback.h>
#include <fbsdk/fbdefines.h>
#include <fbsdk/fbscriptwrapper.h>
#include <fbsdk/fbarray.h>

File Description

Definition of the class FBPlug and related enums and utility functions.

All the Open Reality objects that expose application objects will inherit from FBPlug.

Definition in file fbplug.h.

Classes

class  FBPlug
 Connections Basic Open Reality SDK Element. More...
 
class  HdlFBPlug
 Handler of FBPlug object Use this handler object to gracefully take care of dangling pointer problem. More...
 
class  HdlFBPlugTemplate< T >
 

Namespaces

 ORSDK2018
 

Macros

#define FBSDK_DLL   K_DLLIMPORT
 Be sure that FBSDK_DLL is defined only once... More...
 
#define __FBClassImplementation(ThisComponent, pInternalClassId)
 For internal use only. More...
 
#define __FBClassImplementationGroup(ThisComponent, pInternalClass)
 

Typedefs

typedef FBArrayTemplate< FBPlug * > FBPlugList
 typedef FBArrayTemplate<FBPlug*> FBPlugList; More...
 

Enumerations

enum  FBConnectionAction {
  kFBRequestConnectSrc = 0, kFBRequestConnectDst, kFBConnectSrc, kFBConnectDst,
  kFBConnectedSrc, kFBConnectedDst, kFBRequestDisconnectSrc, kFBRequestDisconnectDst,
  kFBDisconnectSrc, kFBDisconnectDst, kFBDisconnectedSrc, kFBDisconnectedDst,
  kFBBeginReplaceSrc, kFBEndReplaceSrc, kFBBeginReplaceDst, kFBEndReplaceDst,
  kFBReorderSrc, kFBReorderedSrc, kFBBeginChange, kFBEndChange,
  kFBConnectedOwner, kFBDisconnectOwner, kFBCandidate, kFBCandidated,
  kFBCandidateGlobal, kFBDetached, kFBDestroy, kFBSelect,
  kFBUnselect, kFBReselect, kFBRequestRename, kFBRename,
  kFBRenamed, kFBRequestPrefixRename, kFBPrefixRename, kFBPrefixRenamed,
  kFBDescription, kFBKeyingKey, kFBKeyingDeleteKey, kFBKeyingCandidate,
  kFBKeyingCurveChange, kFBKeyingCurveEndChange, kFBConnect = kFBConnectSrc, kFBConnected = kFBConnectedSrc,
  kFBDisconnect = kFBDisconnectSrc, kFBDisconnected = kFBDisconnectedSrc
}
 Possible actions when a notify plug event occurs. More...
 
enum  FBConnectionType { kFBConnectionTypeNone, kFBConnectionTypeSystem }
 Connection types available between plugs. More...
 
enum  FBPlugModificationFlag {
  kFBPlugAllContent = 0, kFBSelfDataModified = 1 << 8, kFBContentDataModified = 1 << 9, kFBAllDataModified = kFBSelfDataModified | kFBContentDataModified,
  kFBSelfKeyingModified = 1 << 10, kFBContentKeyingModified = 1 << 11, kFBAllKeyingModified = kFBSelfKeyingModified | kFBContentKeyingModified, kFBSelfStateModified = 1 << 12,
  kFBContentStateModified = 1 << 13, kFBAllStateModified = kFBSelfStateModified | kFBContentStateModified, kFBSelfConnectionSrcObjectModified = 1 << 14, kFBSelfConnectionSrcPropertyModified = 1 << 15,
  kFBSelfConnectionDstObjectModified = 1 << 16, kFBSelfConnectionDstPropertyModified = 1 << 17, kFBSelfConnectionModifiedMask = kFBSelfConnectionSrcObjectModified | kFBSelfConnectionSrcPropertyModified | kFBSelfConnectionDstObjectModified | kFBSelfConnectionDstPropertyModified, kFBContentConnectionModified = 1 << 18,
  kFBAllConnectionModified = kFBSelfConnectionModifiedMask | kFBContentConnectionModified, kFBSelfCustomPropertyModified = 1 << 19, kFBContentCustomPropertyModified = 1 << 20, kFBAllCustomPropertyModified = kFBSelfCustomPropertyModified | kFBContentCustomPropertyModified,
  kFBSelfAllModifiedMask = kFBSelfDataModified | kFBSelfKeyingModified | kFBSelfStateModified | kFBSelfCustomPropertyModified | kFBSelfConnectionModifiedMask, kFBContentAllModifiedMask = kFBContentDataModified | kFBContentKeyingModified | kFBContentStateModified | kFBContentCustomPropertyModified | kFBContentConnectionModified, kFBAllModifiedMask = kFBSelfAllModifiedMask | kFBContentAllModifiedMask
}
 
enum  FBPlugStatusFlag { kFBPlugStatusFlagNone = 0, kFBOwnedByUndo = 1<<21, kFBPlugStatusFlagMask = kFBOwnedByUndo }
 

Functions

const char * FBGetConnectionActionString (FBConnectionAction pAction)
 
FBPlugList * FBCreatePlugList ()
 Create a FBPlugList object. More...
 
void FBDestroyPlugList (FBPlugList *pPlugList)
 Delete a FBPlugList object. More...
 
const char * FBGetConnectionTypeString (FBConnectionType pType)
 
bool FBConnect (FBPlug *pSrc, FBPlug *pDst, FBConnectionType pConnectionType=kFBConnectionTypeNone)
 Request the connection two FBPlug objects. More...
 
bool FBDisconnect (FBPlug *pSrc, FBPlug *pDst)
 Connect two FBPlug objects. More...
 
FBPlug * FBGetFBPlug (HIObject pObject, bool pAutoCreate=true)
 Get the FBPlug from an Internal Object. More...
 
HIObject FBGetFBObject (HIObject pObject, bool pAutoCreate=false)
 Get the SDK object from an Internal Object. More...
 
template<class T >
T * FBCast (HIObject pObject, bool pAutoCreate=false)
 Cast the SDK object using it's IObject interface into the proper class. More...
 

Macro Definition Documentation

#define __FBClassImplementation (   ThisComponent,
  pInternalClassId 
)
Value:
int ThisComponent::TypeInfo=__FBRegisterTypeInfo(pInternalClassId);\
int ThisComponent::GetInternalClassId() { return pInternalClassId; }
int __FBRegisterTypeInfo(int pInternalClassId)
__FBRegisterTypeInfo For internal use only, Register the TypeInfo mapped to internal class id...

For internal use only.

Definition at line 67 of file fbplug.h.

#define __FBClassImplementationGroup (   ThisComponent,
  pInternalClass 
)
Value:
__FBClassImplementation( ThisComponent,pInternalClass::ClassId )\
const char* ThisComponent::ClassGroupName = pInternalClass::ClassGroupName;
#define __FBClassImplementation(ThisComponent, pInternalClassId)
For internal use only.
Definition: fbplug.h:67

Definition at line 71 of file fbplug.h.

#define FBSDK_DLL   K_DLLIMPORT

Be sure that FBSDK_DLL is defined only once...

Definition at line 51 of file fbplug.h.

Go to the source code of this file.