
/*
 * This file was generated by the SOM Compiler.
 * FileName: \odwin\h\CLIPBD.h.
 * Generated using:
 *     SOM Precompiler somipc: 2.29.1.3
 *     SOM Emitter emith.dll: 2.41
 */

/*
 * 
 *  Classes defined in this interface
 * 
 */


#ifndef SOM_ODClipboard_h
#define SOM_ODClipboard_h


#include <som.h>

/*
 * -- This emitter treats Method Tokens as Thunks by default.
 * -- Use the sc modifier "nothunks" to change this default
 */
#undef somresolve_
#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))



/*
 * Define class data structures as resolution macros
 */
#define ODClipboardClassData (*resolve_ODClipboardClassData())
#define ODClipboardCClassData (*resolve_ODClipboardCClassData())

/*
 * Define the class name as an object type
 */
#ifndef ODClipboard
#define ODClipboard SOMObject
#endif
#include <ClipbdB.h>

/*
 * Start of user-defined types:
 */
#ifndef SOMClass
    #define SOMClass SOMObject
#endif /* SOMClass */
#ifndef ODObject
    #define ODObject SOMObject
#endif /* ODObject */
#ifndef ODExtension
    #define ODExtension SOMObject
#endif /* ODExtension */
#ifndef ODBaseClipboard
    #define ODBaseClipboard SOMObject
#endif /* ODBaseClipboard */
#ifndef ODStorageUnit
    #define ODStorageUnit SOMObject
#endif /* ODStorageUnit */
#ifndef ODDraft
    #define ODDraft SOMObject
#endif /* ODDraft */
#ifndef ODDocument
    #define ODDocument SOMObject
#endif /* ODDocument */
#ifndef ODContainer
    #define ODContainer SOMObject
#endif /* ODContainer */
#ifndef ODSession
    #define ODSession SOMObject
#endif /* ODSession */
#ifndef ODPlatformTypeList
    #define ODPlatformTypeList SOMObject
#endif /* ODPlatformTypeList */
#ifndef ODClipboard
    #define ODClipboard SOMObject
#endif /* ODClipboard */
#ifndef ODFacet
    #define ODFacet SOMObject
#endif /* ODFacet */

/*
 * End of user-defined types.
 */

#define ODClipboard_MajorVersion 1
#define ODClipboard_MinorVersion 0

/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define ODClipboardNewClass c
#define ODClipboardClassData d
#define ODClipboardCClassData x
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
/*--------------Migration------------*/
#define ODClipboard_classObj ODClipboardClassData.classObject
#define _ODClipboard ODClipboard_classObj

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMClass * SOMLINK ODClipboardNewClass(integer4 somntmajorVersion,
		integer4 somntminorVersion);

/*
 * Declare the class data structure
 */
SOMEXTERN struct ODClipboardClassDataStructure {
	SOMClass *classObject;
	somMToken ShowPasteAsDialog;
	somMToken InitClipboard;
	somMToken NewClipboard;
	somMToken DiscardClipboard;
	somMToken ImportContent;
	somMToken PutContentOnPlatformClipboard;
	somMToken ExportPlatformTypes;
	somMToken PutClipboardOnPlatformClipboard;
	somMToken ExportOleObjects;
	somMToken ImportOleClipboard;
	somMToken PlatformClipboardHasType;
	somMToken ImportClipboard;
	somMToken ClipboardChanged;
}  _ODClipboardClassData;
SOMEXTERN struct ODClipboardClassDataStructure * SOMLINK resolve_ODClipboardClassData(void);

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct ODClipboardCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
}  _ODClipboardCClassData;
SOMEXTERN struct ODClipboardCClassDataStructure * SOMLINK resolve_ODClipboardCClassData(void);

/*
 * New and Renew macros for ODClipboard
 */
#define ODClipboardNew() \
   (_somNew(_ODClipboard ? _ODClipboard : ODClipboardNewClass(ODClipboard_MajorVersion, ODClipboard_MinorVersion)))
#define ODClipboardRenew(buf) \
   (_somRenew(_ODClipboard ? _ODClipboard : ODClipboardNewClass(ODClipboard_MajorVersion, ODClipboard_MinorVersion), buf))

/*
 * Override method: somInit
 */
#define ODClipboard_somInit(somSelf) \
	SOMObject_somInit(somSelf)

/*
 * Override method: somUninit
 */
#define ODClipboard_somUninit(somSelf) \
	SOMObject_somUninit(somSelf)

/*
 * Override method: Purge
 */
#define ODClipboard_Purge(somSelf,ev,size) \
	ODObject_Purge(somSelf,ev,size)

/*
 * Override method: GetChangeID
 */
#define ODClipboard_GetChangeID(somSelf,ev) \
	ODBaseClipboard_GetChangeID(somSelf,ev)

/*
 * Override method: Clear
 */
#define ODClipboard_Clear(somSelf,ev) \
	ODBaseClipboard_Clear(somSelf,ev)

/*
 * Override method: GetContentStorageUnit
 */
#define ODClipboard_GetContentStorageUnit(somSelf,ev) \
	ODBaseClipboard_GetContentStorageUnit(somSelf,ev)

/*
 * Override method: SetPlatformClipboard
 */
#define ODClipboard_SetPlatformClipboard(somSelf,ev,typeList) \
	ODBaseClipboard_SetPlatformClipboard(somSelf,ev,typeList)

/*
 * Override method: ExportClipboard
 */
#define ODClipboard_ExportClipboard(somSelf,ev) \
	ODBaseClipboard_ExportClipboard(somSelf,ev)

/*
 * New Method: ShowPasteAsDialog
 */
typedef ODBoolean   (SOMLINK * somTD_ODClipboard_ShowPasteAsDialog)(ODClipboard *somSelf, Environment *ev,
		ODBoolean canPasteLink,
		ODBoolean canEmbed,
		ODFacet* facet,
		ODTypeToken viewType,
		ODPasteAsResult* theResult);
#define somMD_ODClipboard_ShowPasteAsDialog "::ODClipboard::ShowPasteAsDialog"
#define ODClipboard_ShowPasteAsDialog(somSelf,ev,canPasteLink,canEmbed,facet,viewType,theResult) \
    (SOM_Resolve(somSelf, ODClipboard, ShowPasteAsDialog) \
	(somSelf,ev,canPasteLink,canEmbed,facet,viewType,theResult))
#ifndef SOMGD_ShowPasteAsDialog
    #if (defined(_ShowPasteAsDialog) || defined(__ShowPasteAsDialog))
        #undef _ShowPasteAsDialog
        #undef __ShowPasteAsDialog
        #define SOMGD_ShowPasteAsDialog 1
    #else
        #define _ShowPasteAsDialog ODClipboard_ShowPasteAsDialog
    #endif /* _ShowPasteAsDialog */
#endif /* SOMGD_ShowPasteAsDialog */

/*
 * New Method: InitClipboard
 */
typedef void   (SOMLINK * somTD_ODClipboard_InitClipboard)(ODClipboard *somSelf, Environment *ev,
		ODSession* session);
#define somMD_ODClipboard_InitClipboard "::ODClipboard::InitClipboard"
#define ODClipboard_InitClipboard(somSelf,ev,session) \
    (SOM_Resolve(somSelf, ODClipboard, InitClipboard) \
	(somSelf,ev,session))
#ifndef SOMGD_InitClipboard
    #if (defined(_InitClipboard) || defined(__InitClipboard))
        #undef _InitClipboard
        #undef __InitClipboard
        #define SOMGD_InitClipboard 1
    #else
        #define _InitClipboard ODClipboard_InitClipboard
    #endif /* _InitClipboard */
#endif /* SOMGD_InitClipboard */

/*
 * New Method: NewClipboard
 */
typedef void   (SOMLINK * somTD_ODClipboard_NewClipboard)(ODClipboard *somSelf, Environment *ev);
#define somMD_ODClipboard_NewClipboard "::ODClipboard::NewClipboard"
#define ODClipboard_NewClipboard(somSelf,ev) \
    (SOM_Resolve(somSelf, ODClipboard, NewClipboard) \
	(somSelf,ev))
#ifndef SOMGD_NewClipboard
    #if (defined(_NewClipboard) || defined(__NewClipboard))
        #undef _NewClipboard
        #undef __NewClipboard
        #define SOMGD_NewClipboard 1
    #else
        #define _NewClipboard ODClipboard_NewClipboard
    #endif /* _NewClipboard */
#endif /* SOMGD_NewClipboard */

/*
 * New Method: DiscardClipboard
 */
typedef void   (SOMLINK * somTD_ODClipboard_DiscardClipboard)(ODClipboard *somSelf, Environment *ev);
#define somMD_ODClipboard_DiscardClipboard "::ODClipboard::DiscardClipboard"
#define ODClipboard_DiscardClipboard(somSelf,ev) \
    (SOM_Resolve(somSelf, ODClipboard, DiscardClipboard) \
	(somSelf,ev))
#ifndef SOMGD_DiscardClipboard
    #if (defined(_DiscardClipboard) || defined(__DiscardClipboard))
        #undef _DiscardClipboard
        #undef __DiscardClipboard
        #define SOMGD_DiscardClipboard 1
    #else
        #define _DiscardClipboard ODClipboard_DiscardClipboard
    #endif /* _DiscardClipboard */
#endif /* SOMGD_DiscardClipboard */

/*
 * New Method: ImportContent
 */
typedef void   (SOMLINK * somTD_ODClipboard_ImportContent)(ODClipboard *somSelf, Environment *ev,
		void* pDataObject);
#define somMD_ODClipboard_ImportContent "::ODClipboard::ImportContent"
#define ODClipboard_ImportContent(somSelf,ev,pDataObject) \
    (SOM_Resolve(somSelf, ODClipboard, ImportContent) \
	(somSelf,ev,pDataObject))
#ifndef SOMGD_ImportContent
    #if (defined(_ImportContent) || defined(__ImportContent))
        #undef _ImportContent
        #undef __ImportContent
        #define SOMGD_ImportContent 1
    #else
        #define _ImportContent ODClipboard_ImportContent
    #endif /* _ImportContent */
#endif /* SOMGD_ImportContent */

/*
 * New Method: ExportPlatformTypes
 */
typedef void   (SOMLINK * somTD_ODClipboard_ExportPlatformTypes)(ODClipboard *somSelf, Environment *ev,
		ODPlatformTypeList* typeList,
		ODBoolean bExportClipboard);
#define somMD_ODClipboard_ExportPlatformTypes "::ODClipboard::ExportPlatformTypes"
#define ODClipboard_ExportPlatformTypes(somSelf,ev,typeList,bExportClipboard) \
    (SOM_Resolve(somSelf, ODClipboard, ExportPlatformTypes) \
	(somSelf,ev,typeList,bExportClipboard))
#ifndef SOMGD_ExportPlatformTypes
    #if (defined(_ExportPlatformTypes) || defined(__ExportPlatformTypes))
        #undef _ExportPlatformTypes
        #undef __ExportPlatformTypes
        #define SOMGD_ExportPlatformTypes 1
    #else
        #define _ExportPlatformTypes ODClipboard_ExportPlatformTypes
    #endif /* _ExportPlatformTypes */
#endif /* SOMGD_ExportPlatformTypes */

/*
 * New Method: ExportOleObjects
 */
typedef void   (SOMLINK * somTD_ODClipboard_ExportOleObjects)(ODClipboard *somSelf, Environment *ev,
		void* pDataObject);
#define somMD_ODClipboard_ExportOleObjects "::ODClipboard::ExportOleObjects"
#define ODClipboard_ExportOleObjects(somSelf,ev,pDataObject) \
    (SOM_Resolve(somSelf, ODClipboard, ExportOleObjects) \
	(somSelf,ev,pDataObject))
#ifndef SOMGD_ExportOleObjects
    #if (defined(_ExportOleObjects) || defined(__ExportOleObjects))
        #undef _ExportOleObjects
        #undef __ExportOleObjects
        #define SOMGD_ExportOleObjects 1
    #else
        #define _ExportOleObjects ODClipboard_ExportOleObjects
    #endif /* _ExportOleObjects */
#endif /* SOMGD_ExportOleObjects */

/*
 * New Method: PutClipboardOnPlatformClipboard
 */
typedef void   (SOMLINK * somTD_ODClipboard_PutClipboardOnPlatformClipboard)(ODClipboard *somSelf, Environment *ev,
		void* pDataObject);
#define somMD_ODClipboard_PutClipboardOnPlatformClipboard "::ODClipboard::PutClipboardOnPlatformClipboard"
#define ODClipboard_PutClipboardOnPlatformClipboard(somSelf,ev,pDataObject) \
    (SOM_Resolve(somSelf, ODClipboard, PutClipboardOnPlatformClipboard) \
	(somSelf,ev,pDataObject))
#ifndef SOMGD_PutClipboardOnPlatformClipboard
    #if (defined(_PutClipboardOnPlatformClipboard) || defined(__PutClipboardOnPlatformClipboard))
        #undef _PutClipboardOnPlatformClipboard
        #undef __PutClipboardOnPlatformClipboard
        #define SOMGD_PutClipboardOnPlatformClipboard 1
    #else
        #define _PutClipboardOnPlatformClipboard ODClipboard_PutClipboardOnPlatformClipboard
    #endif /* _PutClipboardOnPlatformClipboard */
#endif /* SOMGD_PutClipboardOnPlatformClipboard */

/*
 * New Method: ImportClipboard
 */
typedef ODBoolean   (SOMLINK * somTD_ODClipboard_ImportClipboard)(ODClipboard *somSelf, Environment *ev,
		void* pDataObject);
#define somMD_ODClipboard_ImportClipboard "::ODClipboard::ImportClipboard"
#define ODClipboard_ImportClipboard(somSelf,ev,pDataObject) \
    (SOM_Resolve(somSelf, ODClipboard, ImportClipboard) \
	(somSelf,ev,pDataObject))
#ifndef SOMGD_ImportClipboard
    #if (defined(_ImportClipboard) || defined(__ImportClipboard))
        #undef _ImportClipboard
        #undef __ImportClipboard
        #define SOMGD_ImportClipboard 1
    #else
        #define _ImportClipboard ODClipboard_ImportClipboard
    #endif /* _ImportClipboard */
#endif /* SOMGD_ImportClipboard */

/*
 * New Method: ImportOleClipboard
 */
typedef ODBoolean   (SOMLINK * somTD_ODClipboard_ImportOleClipboard)(ODClipboard *somSelf, Environment *ev,
		void* pDataObject);
#define somMD_ODClipboard_ImportOleClipboard "::ODClipboard::ImportOleClipboard"
#define ODClipboard_ImportOleClipboard(somSelf,ev,pDataObject) \
    (SOM_Resolve(somSelf, ODClipboard, ImportOleClipboard) \
	(somSelf,ev,pDataObject))
#ifndef SOMGD_ImportOleClipboard
    #if (defined(_ImportOleClipboard) || defined(__ImportOleClipboard))
        #undef _ImportOleClipboard
        #undef __ImportOleClipboard
        #define SOMGD_ImportOleClipboard 1
    #else
        #define _ImportOleClipboard ODClipboard_ImportOleClipboard
    #endif /* _ImportOleClipboard */
#endif /* SOMGD_ImportOleClipboard */

/*
 * New Method: PlatformClipboardHasType
 */
typedef ODBoolean   (SOMLINK * somTD_ODClipboard_PlatformClipboardHasType)(ODClipboard *somSelf, Environment *ev,
		void* pDataObject,
		ODPlatformType type);
#define somMD_ODClipboard_PlatformClipboardHasType "::ODClipboard::PlatformClipboardHasType"
#define ODClipboard_PlatformClipboardHasType(somSelf,ev,pDataObject,type) \
    (SOM_Resolve(somSelf, ODClipboard, PlatformClipboardHasType) \
	(somSelf,ev,pDataObject,type))
#ifndef SOMGD_PlatformClipboardHasType
    #if (defined(_PlatformClipboardHasType) || defined(__PlatformClipboardHasType))
        #undef _PlatformClipboardHasType
        #undef __PlatformClipboardHasType
        #define SOMGD_PlatformClipboardHasType 1
    #else
        #define _PlatformClipboardHasType ODClipboard_PlatformClipboardHasType
    #endif /* _PlatformClipboardHasType */
#endif /* SOMGD_PlatformClipboardHasType */

/*
 * New Method: ClipboardChanged
 */
typedef void   (SOMLINK * somTD_ODClipboard_ClipboardChanged)(ODClipboard *somSelf, Environment *ev);
#define somMD_ODClipboard_ClipboardChanged "::ODClipboard::ClipboardChanged"
#define ODClipboard_ClipboardChanged(somSelf,ev) \
    (SOM_Resolve(somSelf, ODClipboard, ClipboardChanged) \
	(somSelf,ev))
#ifndef SOMGD_ClipboardChanged
    #if (defined(_ClipboardChanged) || defined(__ClipboardChanged))
        #undef _ClipboardChanged
        #undef __ClipboardChanged
        #define SOMGD_ClipboardChanged 1
    #else
        #define _ClipboardChanged ODClipboard_ClipboardChanged
    #endif /* _ClipboardChanged */
#endif /* SOMGD_ClipboardChanged */
#ifndef SOM_DONT_USE_INHERITED_MACROS
#define ODClipboard_InitBaseClipboard ODBaseClipboard_InitBaseClipboard
#define ODClipboard_InitObject ODObject_InitObject
#define ODClipboard_IsInitialized ODObject_IsInitialized
#define ODClipboard_HasExtension ODObject_HasExtension
#define ODClipboard_GetExtension ODObject_GetExtension
#define ODClipboard_ReleaseExtension ODObject_ReleaseExtension
#define ODClipboard_IsEqualTo ODObject_IsEqualTo
#define ODClipboard_SubClassResponsibility ODObject_SubClassResponsibility
#define ODClipboard_somDefaultInit SOMObject_somDefaultInit
#define ODClipboard_somDestruct SOMObject_somDestruct
#define ODClipboard_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define ODClipboard_somDefaultAssign SOMObject_somDefaultAssign
#define ODClipboard_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define ODClipboard_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define ODClipboard_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define ODClipboard_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define ODClipboard_somDefaultVAssign SOMObject_somDefaultVAssign
#define ODClipboard_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define ODClipboard_somFree SOMObject_somFree
#define ODClipboard_somGetClass SOMObject_somGetClass
#define ODClipboard_somGetClassName SOMObject_somGetClassName
#define ODClipboard_somGetSize SOMObject_somGetSize
#define ODClipboard_somIsA SOMObject_somIsA
#define ODClipboard_somIsInstanceOf SOMObject_somIsInstanceOf
#define ODClipboard_somRespondsTo SOMObject_somRespondsTo
#define ODClipboard_somDispatch SOMObject_somDispatch
#define ODClipboard_somClassDispatch SOMObject_somClassDispatch
#define ODClipboard_somCastObj SOMObject_somCastObj
#define ODClipboard_somResetObj SOMObject_somResetObj
#define ODClipboard_somDispatchV SOMObject_somDispatchV
#define ODClipboard_somDispatchL SOMObject_somDispatchL
#define ODClipboard_somDispatchA SOMObject_somDispatchA
#define ODClipboard_somDispatchD SOMObject_somDispatchD
#define ODClipboard_somPrintSelf SOMObject_somPrintSelf
#define ODClipboard_somDumpSelf SOMObject_somDumpSelf
#define ODClipboard_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */

#endif       /* SOM_ODClipboard_h */
