/* @(#)Z 1.13 com/src/include/idl/StdTypes.idl, odcore, od96nt, odnt9712d 97/03/21 16:45:42 (97/02/26 16:18:30) */


#ifndef _STDTYPES_
#define _STDTYPES_

#ifndef _ODTYPESB_
#include "ODTypesB.idl"
#endif

//==============================================================================
// Theory of Operation
//==============================================================================

/*
  This file is used to store all the standard persistent types. It must
  be compiled by the SOM compiler with -D EMIT_GLOBAL_CONSTANTS
*/

//==============================================================================
// Constants
//==============================================================================

#if defined(__SOMIDL__) && defined(EMIT_GLOBAL_CONSTANTS)
#pragma somemittypes on
#endif

const  ODValueType  kODBoolean          = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:Boolean";
const  ODValueType  kODUShort           = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:UShort";
const  ODValueType  kODSShort           = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:SShort";
const  ODValueType  kODULong            = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:ULong";
const  ODValueType  kODSLong            = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:SLong";

const  ODValueType  kODISOStr           = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:ISOStr";
const  ODValueType  kODISOStrList   = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:ISOStrList";

const  ODValueType  kODMacIText         = "+//ISO 9070/ANSI::113722::US::CI LABS::MacOS:Type:IntlText";
const  ODValueType  kODWindowsIText     = "+//ISO 9070/ANSI::113722::US::CI LABS::Windows:Type:IntlText";
const  ODValueType  kODOS2IText         = "+//ISO 9070/ANSI::113722::US::CI LABS::OS2:Type:IntlText";
const  ODValueType  kODAIXIText         = "+//ISO 9070/ANSI::113722::US::CI LABS::AIX:Type:IntlText";
const  ODValueType  kODIntlText         = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:IntlText";

    // Platform image types
    // These types are used for the Drag and Drop drag image, but
    // are not specific to drag and drop.
    // Each of these types is available on all platforms to allow
    // any future translation of image types that may be done
    // [Win32 RegionHandle to AIX Region, for example]

const  ODValueType  kODWindowsRegionHandle    = "+//ISO 9070/ANSI::113722::US::CI LABS::Windows:Type:HRGN";
const  ODValueType  kODOS2RegionHandle        = "+//ISO 9070/ANSI::113722::US::CI LABS::OS2:Type:HRGN";
const  ODValueType  kODOS2DragImage           = "+//ISO 9070/ANSI::113722::US::CI LABS::OS2:Type:DRAGIMAGE";
const  ODValueType  kODAIXRegion              = "+//ISO 9070/ANSI::113722::US::CI LABS::AIX:Type:Region";

#ifdef _PLATFORM_WIN32_
const ODValueType kODPlatformIText      = kODWindowsIText;
#endif
#ifdef _PLATFORM_OS2_
const ODValueType kODPlatformIText      = kODOS2IText;
#endif
#ifdef _PLATFORM_AIX_
const ODValueType kODPlatformIText      = kODAIXIText;
#endif

const  ODValueType  kODTime_T           = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:Time_T";

const  ODValueType  kODPoint            = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:Point";
const  ODValueType  kODRect             = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:Rect";
const  ODValueType  kODPolygon          = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:Polygon";

const  ODValueType  kODIconFamily       = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:IconFamily";
const  ODValueType  kODIconFamilyMac    = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:IconFamily:Macintosh";
const  ODValueType  kODIconFamilyWin    = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:IconFamily:Windows";
const  ODValueType  kODIconFamilyOS2    = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:IconFamily:OS2";
const  ODValueType  kODIconFamilyAIX    = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:IconFamily:AIX";

const  ODValueType  kODTransform        = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:Transform";

const  ODValueType  kODEditor           = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:Editor";

const  ODType      kODStrongStorageUnitRef  = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:StorageUnitRef";
const  ODType      kODWeakStorageUnitRef    = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:StorageUnitRef";

const  ODType      kODStrongStorageUnitRefs  = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:StorageUnitRefs";
const  ODType      kODWeakStorageUnitRefs    = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:StorageUnitRefs";

const  ODValueType      kODLinkSpec             = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:LinkSpec";
const  ODValueType      kODCloneKind    = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:CloneKind";

const  ODValueType      kODObjectType   = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:ObjectType";

const  ODType           kODFileType     = "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc:Type:FileType";

  // Value ids for the data stored under the Attached Script Property (kODPropAttachedScriptType)
const  ODValueType      kODDSComponentIdValue    = "+//ISO 9070/ANSI::113722::US::IBM::OpenDoc:Type:ODDS_Component_ID"    ;
const  ODValueType      kODDSExtensionNamesValue = "+//ISO 9070/ANSI::113722::US::IBM::OpenDoc:Type:ODDS_Extension_Names" ;
const  ODValueType      kODDSComponentDataValue  = "+//ISO 9070/ANSI::113722::US::IBM::OpenDoc:Type:ODDS_Component_Data"  ;

#ifdef _PLATFORM_WIN32_
const  ODValueType kODDocfile            = "+//ISO 9070/ANSI::113722::US::IBM::Windows:Type:Docfile";                //OLE2
const  ODValueType kODChangeID           = "+//ISO 9070/ANSI::113722::US::IBM::Windows:Type:ChangeID";               //OLE2
const  ODValueType kODLinkSpecDescriptor = "+//ISO 9070/ANSI::113722::US::IBM::Windows:Type:OleLinkSpecDescriptor";  //OLE2
const  ODValueType kODObjSpec            = "+//ISO 9070/ANSI::113722::US::IBM::Windows:Type:OleObjSpec";             //OLE2
const  ODValueType kODObjSpecDescriptor  = "+//ISO 9070/ANSI::113722::US::IBM::Windows:Type:OleObjSpecDescriptor";   //OLE2
const  ODValueType kODASCIIText          = "+//ISO 9070/ANSI::113722::US::IBM::Windows:Type:Text";                   //OLE2
#endif // _PLATFORM_WIN32

#ifdef _PLATFORM_MACINTOSH_

const ODPropertyName  kODTypeQuickDrawPageSetup                 = "+//ISO 9070/ANSI::113722::US::CI LABS::MacOS:Type:QuickDrawPageSetup";
const ODPropertyName  kODTypeGXPageSetup                                = "+//ISO 9070/ANSI::113722::US::CI LABS::MacOS:Type:GXPageSetup";

#endif //_PLATFORM_MACINTOSH_

#ifdef _PLATFORM_OS2_
const ODValueType kODHashTable        = "+//ISO 9070/ANSI::113722::US::CI LABS::OS2:Type:HashTable";  /*watson*/
const ODValueType kODPartDescription  = "+//ISO 9070/ANSI::113722::US::CI LABS::OS2:Type:PartDescription";/*watson*/
const ODValueType kODPOINTL   = "+//ISO 9070/ANSI::113722::US::CI LABS::OS2:Type:POINTL";
// const ODType kODFileType      = "+//ISO 9070/ANSI::113722::US::CI LABS::OS2:Type:FileType";
const ODType kODFileTypeEA    = "+//ISO 9070/ANSI::113722::US::CI LABS::OS2:Type:FileTypeEA";
const ODType kODDragitem      = "+//ISO 9070/ANSI::113722::US::CI LABS::OS2:Type:Dragitem";
const ODType kODDragOperation = "+//ISO 9070/ANSI::113722::US::CI LABS::OS2:Type:DragOperation";
const ODType kODSelectedRMF   = "+//ISO 9070/ANSI::113722::US::CI LABS::OS2:Type:SelectedRMF";
const ODType kODSelectedKind  = "+//ISO 9070/ANSI::113722::US::CI LABS::OS2:Type:SelectedKind";

// standard types for IBM core parts (will be eventually replaced by CIL standard names
// kODRGB2 is a RGB2 structure
const ODType kODRGB2         = "+//ISO 9070/ANSI::113722::US::CI LABS::OS2:Type:RGB2";
// kODFontNameSize is a string of the font size and name in the same format as OS/2 presparams
const ODType kODFontNameSize = "+//ISO 9070/ANSI::113722::US::CI LABS::OS2:Type:FontNameSize";
#endif // _PLATFORM_OS2_

#if defined(__SOMIDL__) && defined(EMIT_GLOBAL_CONSTANTS)
#pragma somemittypes off
#endif

module OpenDoc_StdTypes
{
        const string OpenDoc_StdTypes_Version = "1.0.";
};

#endif  // _STDTYPES_

