Custom Platform Support Development Kit  1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
FCM Namespace Reference

The definitions contained in this namespace define a framework called Flash Component Model (FCM), which is responsible for plug-in management. The FCM framework manages loading, unloading and registration of the plug-in. It also manages service instantiation, object instantiation and object lifetime management. More...

Classes

class  AutoPtr
 This defines smart pointer to manage AddRef and Release calls to FCM objects. In AutoPtr<T> , T has to be an interface derived from IFCMUnknown. AutoPtr<T> can be used to control the lifetime of objects without explicitly calling AddRef and Release. More...
 
struct  FCMGUID
 Represents a 128 bit or 16-byte GUID (Globally Unique IDentifier) value. More...
 
class  FCMListPtr
 A class implementing the AutoPtr<IFCMList>. More...
 
class  FCMObjectBase
 Every class that implements an interface should be derived from this class. More...
 
class  IFCMCallback
 Defines the interface that represents the callback. More...
 
class  IFCMCalloc
 Defines the interface that represents the calloc. More...
 
class  IFCMClassFactory
 Defines the interface that represents the ClassFactory. More...
 
class  IFCMDictionary
 Defines the interface that represents the dictionary. More...
 
class  IFCMList
 Defines the interface that represents the List of pointer to IFCMUnknown objects. More...
 
class  IFCMNoAggregationUnknown
 Defines the interface that represents the NoAggregationUnknown. More...
 
class  IFCMNotificationClient
 Defines the interface that represents the notification client. More...
 
class  IFCMNotificationService
 Defines the interface that represents a notification service. More...
 
class  IFCMPluginDictionary
 Defines the interface that represents the Plugin Dictionary. More...
 
class  IFCMStringUtils
 Defines the interface for string conversions between StringRep8 and StringRep16. More...
 
class  IFCMUnknown
 Defines the interface that represents the IUnknown object. More...
 
struct  VARIANT
 Defines a data-type called 'variant' that can be used to store different types of data. More...
 

Typedefs

typedef FCM::Result(* PluginBootProc )(PIFCMCallback pCallback)
 Defines the type of a function that will be called immediately after the DLL/framework load. Perform any global initialization inside this.
 
typedef FCM::Result(* PluginGetClassInfoProc )(PIFCMCalloc pCalloc, PFCMClassInterfaceInfo *ppClassInfo)
 Defines the type of a function used by FCM framework to know various classes implemented by the plug-in. Do no have any app-specific logic in this function. More...
 
typedef FCM::Result(* PluginGetClassObjectProc )(PIFCMUnknown pUnkOuter, ConstRefFCMCLSID clsid, ConstRefFCMIID iid, FCM::PPVoid pAny)
 Defines the function called by FCM framework to get the factory objects for the classes implemented by the plug-in. Do no perform any app-specific logic inside this function. More...
 
typedef FCM::Result(* PluginRegisterProc )(PIFCMPluginDictionary pPluginDict)
 Defines the function called by FCM framework to register the plug-in. The plug-in has to add the details of the the services and the various components it contains to this dictionary. More...
 
typedef FCM::U_Int32(* PluginCanUnloadNowProc )(void)
 Defines the function called by FCM framework to check if the plug-in can be unloaded. This function returns the number of live object instances from by this plug-in. Just before the shutdown, all the instances should be deleted and zero should be returned. More...
 
typedef FCM::Result(* PluginShutdownProc )()
 Defines the function called by FCM framework to notify the plug-in that the plug-in will be unloaded soon. This function allows the plug-in to perform proper clean-up before unloading.
 
typedef unsigned _int8 U_Int8
 Type to define an unsigned 8-bit value.
 
typedef signed _int8 S_Int8
 Type to define a signed 8-bit value.
 
typedef unsigned _int16 U_Int16
 Type to define an unsigned 16-bit value.
 
typedef signed _int16 S_Int16
 Type to define a signed 16-bit value.
 
typedef unsigned _int32 U_Int32
 Type to define an unsigned 32-bit value.
 
typedef signed _int32 S_Int32
 Type to define a signed 32-bit value.
 
typedef unsigned _int64 U_Int64
 Type to define a unsigned size 64-bit value.
 
typedef signed _int64 S_Int64
 Type to define a signed 64-bit value.
 
typedef float Float
 Type to define a IEEE single precision floating point number.
 
typedef double Double
 Type to define a IEEE double-precision floating point number.
 
typedef U_Int32 Result
 Type to define a result. This is usually the return type for most APIs.
 
typedef U_Int8 Byte
 Type to define a byte.
 
typedef U_Int8 Boolean
 Type to define a boolean.
 
typedef void * PVoid
 Type to define a void pointer.
 
typedef void ** PPVoid
 Type to define a pointer to pointer to void.
 
typedef U_Int16StringRep16
 Used to define a UTF16 (unicode) encoded string.
 
typedef const U_Int16CStringRep16
 Used to define a constant UTF16 (unicode) encoded string.
 
typedef char * StringRep8
 Used to define a unicode (UTF8) encoded string.
 
typedef const char * CStringRep8
 Used to define a constant unicode (UTF8) encoded string.
 
typedef FCMGUID FCMIID
 Represents the interface ID type.
 
typedef FCMGUID FCMCLSID
 Represents the class ID type.
 
typedef FCMGUID SRVCID
 Represents the service ID type.
 
typedef const FCMIID ConstFCMIID
 Represents the constant interface ID type.
 
typedef const FCMIID ConstFCMCLSID
 Represents the constant class ID type.
 
typedef ConstFCMCLSIDConstRefFCMIID
 Represents the constant reference to interface ID.
 
typedef ConstFCMCLSIDConstRefFCMCLSID
 Represents the constant reference to class ID.
 
typedef FCMGUID FCMNotifyID
 The FCM notification ID type.
 
typedef FCMGUIDPFCMNotifyID
 The pointer to FCM notification ID.
 
typedef const FCMNotifyID ConstFCMNotifyID
 The constant FCM notification ID.
 
typedef const FCMNotifyIDConstRefFCMNotifyID
 The reference to constant FCM notification ID.
 

Enumerations

enum  VarType {
  kFCMVarype_Invalid = 0, kFCMVarype_UInt32, kFCMVarype_Float, kFCMVarype_Bool,
  kFCMVarype_CString, kFCMVarype_Double, _kFCMVarype_Last_
}
 Type for the values of a variant (VARIANT) More...
 
enum  FCMDictRecTypeID {
  kFCMDictType_Invalid = 0, kFCMDictType_Dict = 1, kFCMDictType_PIFCMUnknown, kFCMDictType_Long,
  kFCMDictType_Float, kFCMDictType_Bool, kFCMDictType_FCMGUID, kFCMDictType_Bytes,
  kFCMDictType_StringRep8, kFCMDictType_Double, _kFCMDictType_Last_
}
 This defines different types of dictionary IDs. More...
 

Functions

__inline bool operator== (const FCMGUID &guidOne, const FCMGUID &guidOther)
 This function compares for GUID equality. More...
 
__inline bool operator!= (const FCMGUID &guidOne, const FCMGUID &guidOther)
 This function compares for GUID in-equality. More...
 

Variables

const FCM::SRVCID SRVCID_Core_Memory
 Defines the universally-unique ID for the memory service. More...
 
const FCM::SRVCID SRVCID_Core_Notification
 Defines the universally-unique ID for the Notification service. More...
 
const FCM::SRVCID SRVCID_Core_StringUtils
 Defines the universally-unique ID for a service to convert strings between StringRep8 and StringRep16. More...
 
const FCMCLSID CLSID_IFCMDictionary
 Defines the universally-unique class ID to create object that implements IFCMDictionary dictionary interface. More...
 
const FCMNotifyID NOTIFYID_FCM_SHUTDOWN
 Defines the universally-unique ID for the shutdown notification. More...
 
const FCMIID FCMIID_NULL = { 0, 0, 0, { 0, 0, 0, 0, 0, 0, 0, 0 } }
 Represents an invalid Interface Identifier (IID).
 
const FCMCLSID FCMCLSID_NULL = { 0, 0, 0, { 0, 0, 0, 0, 0, 0, 0, 0 } }
 Represents an invalid class Identifier (CLSID).
 
FCM::ConstFCMIID FCMIID_IFCMCallback
 Defines the universally-unique interface ID for IFCMCallback. More...
 
FCM::ConstFCMIID FCMIID_IFCMCalloc
 Defines the universally unique ID for the interface IFCMCalloc. More...
 
FCM::ConstFCMIID FCMIID_IFCMClassFactory
 Defines the universally-unique interface ID for IFCMClassFactory. More...
 
FCM::ConstFCMIID FCMIID_IFCMDictionary
 Defines the universally-unique interface ID for IFCMDictionary. More...
 
FCM::ConstFCMIID FCMIID_IFCMList
 Defines the universally-unique interface ID for IFCMList. More...
 
FCM::ConstFCMIID FCMIID_IFCMNoAggregationUnknown
 Defines the universally-unique interface ID for IFCMNoAggregationUnknown. More...
 
FCM::ConstFCMIID FCMIID_IFCMNotificationClient
 Defines the universally-unique interface ID for IFCMNotificationClient. More...
 
FCM::ConstFCMIID FCMIID_IFCMNotificationService
 Defines the universally-unique interface ID for IFCMNotificationService. More...
 
FCM::ConstFCMIID FCMIID_IFCMPluginDictionary
 Defines the universally-unique interface ID for IFCMPluginDictionary. More...
 
FCM::ConstFCMIID FCMIID_IFCMStringUtils
 Defines the universally-unique interface ID for IFCMStringUtils. More...
 

Detailed Description

The definitions contained in this namespace define a framework called Flash Component Model (FCM), which is responsible for plug-in management. The FCM framework manages loading, unloading and registration of the plug-in. It also manages service instantiation, object instantiation and object lifetime management.

Typedef Documentation

FCM::PluginCanUnloadNowProc

Defines the function called by FCM framework to check if the plug-in can be unloaded. This function returns the number of live object instances from by this plug-in. Just before the shutdown, all the instances should be deleted and zero should be returned.

Returns
This function returns the number of live object instances from by this plug-in.
FCM::PluginGetClassInfoProc

Defines the type of a function used by FCM framework to know various classes implemented by the plug-in. Do no have any app-specific logic in this function.

Parameters
pCalloc(IN) The pointer to the memory allocator service object.
ppClassInfo(OUT) The pointer to an array of the FCMClassInterfaceInfo objects. The plug-in has to allocate the array using pCalloc
FCM::PluginGetClassObjectProc

Defines the function called by FCM framework to get the factory objects for the classes implemented by the plug-in. Do no perform any app-specific logic inside this function.

Parameters
pUnkOuter(IN) If NULL, indicates that the object is not being created as part of an aggregate. If non-NULL, pointer to the aggregate object's IFCMUnknown interface.
clsid(IN) The class ID associated with the data and code that will be used to create the object.
iid(IN) A reference to the identifier of the interface to be used to communicate with the object.
pAny(OUT) Address of pointer variable that receives the interface pointer requested in interfaceID. Upon successful return, *ppvObj contains the requested interface pointer pointing to the class factory object for the class with ID clsid. Upon failure, *ppvObj contains NULL. FCM framework will call Release on ppvObj to release the class factory object.
FCM::PluginRegisterProc

Defines the function called by FCM framework to register the plug-in. The plug-in has to add the details of the the services and the various components it contains to this dictionary.

Parameters
pPluginDict(IN) pointer to the registration dictionary that has to be filled by the plug-in.

Enumeration Type Documentation

This defines different types of dictionary IDs.

Enumerator
kFCMDictType_Invalid 

illegal

kFCMDictType_Dict 

FCMDict. Put does AddRef; Remove does Release.

kFCMDictType_PIFCMUnknown 

Returns a PIFCMUnknown. Put does AddRef; Remove does Release.

kFCMDictType_Long 

Returns a FCM::S_Int32.

kFCMDictType_Float 

Returns a 32 bit IEEE single precision floating point number.

kFCMDictType_Bool 

FCM::Boolean

kFCMDictType_FCMGUID 

FCMGUID

kFCMDictType_Bytes 

Arbitrary bytes

kFCMDictType_StringRep8 

Null-terminated StringRep8 string

kFCMDictType_Double 

FCM::Double

Type for the values of a variant (VARIANT)

Enumerator
kFCMVarype_Invalid 

Represents a invalid type

kFCMVarype_UInt32 

Represents a FCM::U_Int32.

kFCMVarype_Float 

Represents a FCM::Float

kFCMVarype_Bool 

Represents a FCM::Boolean

kFCMVarype_CString 

Represents a FCM::StringRep8

kFCMVarype_Double 

Represents a FCM::Double

_kFCMVarype_Last_ 

Marks the final Entry in the list

Function Documentation

__inline bool FCM::operator!= ( const FCMGUID &  guidOne,
const FCMGUID &  guidOther 
)

This function compares for GUID in-equality.

Parameters
guidOne(IN) One of the GUID that needs to be compared.
guidOther(IN) Other GUID that needs to be compared.
Returns
Returns true if GUIDs are not equal; else false is returned.
__inline bool FCM::operator== ( const FCMGUID &  guidOne,
const FCMGUID &  guidOther 
)

This function compares for GUID equality.

Parameters
guidOne(IN) One of the GUID that needs to be compared.
guidOther(IN) Other GUID that needs to be compared.
Returns
Returns true if GUIDs are same; else false is returned.

Variable Documentation

const FCMCLSID FCM::CLSID_IFCMDictionary
Initial value:
=
{0x1e262c7, 0x886c, 0x4f8c, {0x87, 0x2c, 0xa0, 0xfd, 0x70, 0x67, 0x21, 0x80}}

Defines the universally-unique class ID to create object that implements IFCMDictionary dictionary interface.

Note
Textual Representation: {01E262C7-886C-4F8C-872C-A0FD70672180}
FCM::ConstFCMIID FCM::FCMIID_IFCMCallback
Initial value:
=
{0xdb438eab, 0xf457, 0x491d, {0x8e, 0xf2, 0xa1, 0xb8, 0x67, 0x70, 0x7e, 0x3e}}

Defines the universally-unique interface ID for IFCMCallback.

Note
Textual Representation: {DB438EAB-F457-491D-8EF2-A1B867707E3E}
FCM::ConstFCMIID FCM::FCMIID_IFCMCalloc
Initial value:
=
{0x1920b8dd, 0x6cd8, 0x4d9a, {0x82, 0x72, 0x4c, 0xba, 0x3f, 0x29, 0x8, 0x6f}}

Defines the universally unique ID for the interface IFCMCalloc.

Note
Textual Representation: {1920B8DD-6CD8-4D9A-8272-4CBA3F29086F}
FCM::ConstFCMIID FCM::FCMIID_IFCMClassFactory
Initial value:
=
{0xb249192e, 0xd262, 0x43ba, {0x86, 0x52, 0xc4, 0x1f, 0xcb, 0x34, 0x20, 0xf5}}

Defines the universally-unique interface ID for IFCMClassFactory.

Note
Textual Representation: {B249192E-D262-43BA-8652-C41FCB3420F5}
FCM::ConstFCMIID FCM::FCMIID_IFCMDictionary
Initial value:
=
{0x8bb58643, 0x57e, 0x4158, {0x88, 0x76, 0x6f, 0xf3, 0x34, 0xe5, 0xec, 0xe6}}

Defines the universally-unique interface ID for IFCMDictionary.

Note
Textual Representation: {8BB58643-057E-4158-8876-6FF334E5ECE6}
FCM::ConstFCMIID FCM::FCMIID_IFCMList
Initial value:
=
{0xfeaf29a0, 0x9a0d, 0x4c4f, {0x9e, 0x58, 0x1b, 0xa7, 0xe2, 0x79, 0x82, 0x4b}}

Defines the universally-unique interface ID for IFCMList.

Note
Textual Representation: {FEAF29A0-9A0D-4C4F-9E58-1BA7E279824B}
FCM::ConstFCMIID FCM::FCMIID_IFCMNoAggregationUnknown
Initial value:
=
{0xf04d68cf, 0x9429, 0x4393, {0x98, 0xa, 0xa2, 0x21, 0x5f, 0x5, 0xa, 0x17}}

Defines the universally-unique interface ID for IFCMNoAggregationUnknown.

Note
Textual Representation: {F04D68CF-9429-4393-980A-A2215F050A17}
FCM::ConstFCMIID FCM::FCMIID_IFCMNotificationClient
Initial value:
=
{0x44ba2ffc, 0x2057, 0x4c95, {0xaa, 0x38, 0x80, 0xd6, 0xea, 0x0, 0x73, 0x36}}

Defines the universally-unique interface ID for IFCMNotificationClient.

Note
Textual Representation: {44BA2FFC-2057-4C95-AA38-80D6EA007336}
FCM::ConstFCMIID FCM::FCMIID_IFCMNotificationService
Initial value:
=
{0x4488009e, 0x53ca, 0x43ef, {0x88, 0x90, 0x50, 0x48, 0x2c, 0xde, 0x31, 0xaa}}

Defines the universally-unique interface ID for IFCMNotificationService.

Note
Textual Representation: {4488009E-53CA-43EF-8890-50482CDE31AA}
FCM::ConstFCMIID FCM::FCMIID_IFCMPluginDictionary
Initial value:
=
{0x6dc4ba91, 0x3bf2, 0x4dd7, {0x85, 0xb6, 0x8d, 0x6c, 0x3e, 0x76, 0x55, 0x20}}

Defines the universally-unique interface ID for IFCMPluginDictionary.

Note
Textual Representation: {6DC4BA91-3BF2-4DD7-85B6-8D6C3E765520}
FCM::ConstFCMIID FCM::FCMIID_IFCMStringUtils
Initial value:
=
{0x974efcc9, 0xb1e4, 0x4bfa, {0x8e, 0xa3, 0xb9, 0xc4, 0x1f, 0x2a, 0x45, 0xf}}

Defines the universally-unique interface ID for IFCMStringUtils.

Note
Textual Representation: {974EFCC9-B1E4-4BFA-8EA3-B9C41F2A450F}
const FCMNotifyID FCM::NOTIFYID_FCM_SHUTDOWN
Initial value:
=
{0xe6fe94c6, 0x6184, 0x4859, {0x91, 0xa6, 0x57, 0x29, 0xce, 0x44, 0x65, 0xe6}}

Defines the universally-unique ID for the shutdown notification.

Note
Textual Representation: {E6FE94C6-6184-4859-91A6-5729CE4465E6}
const FCM::SRVCID FCM::SRVCID_Core_Memory
Initial value:
=
{0x3e3ac427, 0x4f7f, 0x4aa4, {0xb7, 0xbb, 0xe1, 0x3d, 0x45, 0xdb, 0x73, 0xdb}}

Defines the universally-unique ID for the memory service.

Note
Textual Representation: {3E3AC427-4F7F-4AA4-B7BB-E13D45DB73DB}
const FCM::SRVCID FCM::SRVCID_Core_Notification
Initial value:
=
{0xf30ea374, 0x403b, 0x4112, {0x99, 0xed, 0xc5, 0xa8, 0x7f, 0xf1, 0xb1, 0x63}}

Defines the universally-unique ID for the Notification service.

Note
Textual Representation: {F30EA34-403B-4112-99ED-C5A87FF1B163}
const FCM::SRVCID FCM::SRVCID_Core_StringUtils
Initial value:
=
{0xa04640cb, 0x9148, 0x4c4d, {0x82, 0x6e, 0xe5, 0xba, 0xea, 0x88, 0xef, 0xde}}

Defines the universally-unique ID for a service to convert strings between StringRep8 and StringRep16.

Note
Textual Representation: {A04640CB-9148-4C4D-826E-E5BAEA88EFDE}