#ifndef _DTS_HH_INCLUDED_wpobject
#define _DTS_HH_INCLUDED_wpobject
/* Start Class WPObject */

// This file was generated by the IBM "DirectToSOM" emitter for C++ (V1.77)
// Generated at 10/22/96 06:18:53 EDT
// This is class: WPObject
// Mangled class name: WPObject
// SE: May 19/94

#include <som.hh>

     #pragma SOMAsDefault(on)
class SOMClass;
     #pragma SOMAsDefault(pop)
     #pragma SOMAsDefault(on)
class SOMObject;
     #pragma SOMAsDefault(pop)
     #pragma SOMAsDefault(on)
class WPFolder;
     #pragma SOMAsDefault(pop)
     #pragma SOMAsDefault(on)
class M_WPObject;
     #pragma SOMAsDefault(pop)
     #pragma SOMAsDefault(on)
class WPObject;
     #pragma SOMAsDefault(pop)
#include <somobj.hh>
#pragma SOMNonDTS(on)

/********************************************/

      /* Object style flags (see wpSetStyle) */

      #define OBJSTYLE_NOMOVE          2
      #define OBJSTYLE_NOLINK          4
      #define OBJSTYLE_NOCOPY          8
      #define OBJSTYLE_NOTDEFAULTICON 16   /* Intentionally not declared CLSSTYLE */ 
      #define OBJSTYLE_TEMPLATE       32
      #define OBJSTYLE_NODELETE       64
      #define OBJSTYLE_NOPRINT       128
      #define OBJSTYLE_NODRAG        256
      #define OBJSTYLE_NOTVISIBLE    512
      #define OBJSTYLE_NOSETTINGS   1024
      #define OBJSTYLE_NORENAME     2048
      #define OBJSTYLE_NODROP       4096
      #define OBJSTYLE_NODROPON     8192   /* Use instead of OBJSTYLE_NODROP, 
                                              because OBJSTYLE_NODROP and     
                                              CLSSTYLE_PRIVATE have the same  
                                              value (DD 86093F) */            
      #define OBJSTYLE_CUSTOMICON   16384  /* Use instead of OBJSTYLE_NOTDEFAULTICON  
                                               because OBJSTYLE_NOTDEFAULTICON and    
                                               CLSSTYLE_NEVERTEMPLATE have the same   
                                               value (DD 86093F) */      

     /*  Class style flags (see wpclsQueryStyle) */

      #define CLSSTYLE_NEVERMOVE      OBJSTYLE_NOMOVE
      #define CLSSTYLE_NEVERLINK      OBJSTYLE_NOLINK
      #define CLSSTYLE_NEVERCOPY      OBJSTYLE_NOCOPY
      #define CLSSTYLE_NEVERTEMPLATE  16
      #define CLSSTYLE_NEVERDELETE    OBJSTYLE_NODELETE
      #define CLSSTYLE_NEVERPRINT     OBJSTYLE_NOPRINT
      #define CLSSTYLE_NEVERDRAG      OBJSTYLE_NODRAG
      #define CLSSTYLE_NEVERVISIBLE   OBJSTYLE_NOTVISIBLE
      #define CLSSTYLE_NEVERRENAME    OBJSTYLE_NORENAME
      #define CLSSTYLE_PRIVATE        4096   /* Intentionally not declared OBJSTYLE */     
      #define CLSSTYLE_NEVERSETTINGS  OBJSTYLE_NOSETTINGS                      /*DD 86093F*/ 
      #define CLSSTYLE_NEVERDROPON    OBJSTYLE_NODROPON                        /*DD 86093F*/ 
      #define CLSSTYLE_HIDDEN         32768  /* Use instead of CLSSTYLE_PRIVATE          
                                                 because OBJSTYLE_NODROP and             
                                                 CLSSTYLE_PRIVATE have the same          
                                                 value (DD 86093F) */                    
      #define CLSSTYLE_DONTTEMPLATE   65536  /* Use instead of CLSSTYLE_NEVERTEMPLATE    
                                                 because OBJSTYLE_NOTDEFAULTICON and     
                                                 CLSSTYLE_NEVERTEMPLATE have the same    
                                                 value (DD 86093F) */       

      #define SETTINGS_PAGE_REMOVED  -1


      /* Notes: The class name immediately follows the control block. The
       *        first instance variable control block immediately follows
       *        this.
       */
      typedef struct _WPSRCLASSBLOCK
      {
        SHORT   ClassNameLength;       /* Length of class name, including the
                                        * .. null terminator. This must be a
                                        * .. SHORT and must be at the beginning
                                        * .. of the structure.
                                        */
        USHORT  IVarLength;            /* Length of instance variable
                                        * .. information, including the two-
                                        * .. byte null terminator
                                        */
      } WPSRCLASSBLOCK;




      /* This control structure does not reside in the dormant state.
       * It is used only when a persistant data block is
       * resident in memory - either when an object is being saved or
       * when it is being restored...
       */
      typedef struct _OBJDATA
      {
         WPSRCLASSBLOCK       *CurrentClass;
         WPSRCLASSBLOCK       *First;
         PUCHAR                NextData;
         USHORT                Length;
      } OBJDATA;
      typedef OBJDATA *POBJDATA;

     /*  wpCnrInsertObject/wpCnrRemoveObject structs
       *  and macros...
       */

      typedef struct _CLASSDETAILS     /* Class Details struct */
      {
         PSZ          pszAttribute;    /* Translatable string for a class attribute*/
         PVOID        pSortRecord;     /* Function pointer for sort function for attribute*/
         struct _CLASSDETAILS *pNext; /* Next item in class details list */
      } CLASSDETAILS;
      typedef CLASSDETAILS *PCLASSDETAILS;


     /* Details comparison function definition
       *
       *    Param1  PVOID   - Pointer to details field value
       *    Param2  PVOID   - Pointer to value to be compared with
       *
       *    Returns LONG    - Must be CMP_EQUAL, CMP_GREATER, CMP_LESS
       */
      typedef LONG (EXPENTRY FNCOMPARE)(PVOID,PVOID);
      typedef FNCOMPARE *PFNCOMPARE;


     /* This structure is always followed immediately by a type
       * dependant struct such as MEMORYITEM,RECORDITEM,VIEWITEM
       * or some other user defined structure...
       */
      typedef struct _USEITEM
      {
         ULONG  type;                  /* Type of this Item */
         struct _USEITEM *pNext;   /* Next item in use list */
      } USEITEM;
      typedef USEITEM *PUSEITEM;

      #define USAGE_MEMORY          1  /* Values of 'type' */
      #define USAGE_RECORD          4
      #define USAGE_OPENVIEW        5
      #define USAGE_LINK            6
      #define USAGE_OPENFILE       20

      typedef struct _MEMORYITEM       /* USAGE_MEMORY struct */
      {
         ULONG     cbBuffer;           /* Number of bytes in memory block */
      } MEMORYITEM;
      typedef MEMORYITEM *PMEMORYITEM;

    typedef struct _RECORDITEM       /* USAGE_RECORD struct */
      {
         HWND            hwndCnr;      /* Cnr into which object is inserted */
         PMINIRECORDCORE pRecord;      /* Record pointer within that cnr */
         ULONG           ulUser;       /* For application use RECSH */ 
      } RECORDITEM;
      typedef RECORDITEM *PRECORDITEM;

     #define VIEWSTATE_OPENING       0x0001   /* The view is being opened */
      #define VIEWSTATE_OBJECTDELETED 0x0002   /* The object has been deleted */
      #define VIEWSTATE_USERHIDDEN    0x0004   /* The view was hidden by user */
      #define VIEWSTATE_POPULATING    0x0008   /* The view is populating      */
      #define VIEWSTATE_USERMINIMIZED 0x0010   /* The view was minimized by the user */
      #define VIEWSTATE_CLOSING       0x0020   /* The view is closing */
      #define VIEWSTATE_DELETING      0x0040   /* The object is being deleted */


     typedef struct _TASKREC
      {
         struct _TASKREC *next;     /* next in the list of current tasks   */
         ULONG            useCount; /* can be referenced by multiple object*/
         PVOID            pStdDlg;  /* ptr to standard WP task dialog      */
         WPFolder        *folder;   /* intended folder for the object      */
         LONG             xOrigin;  /* intended position for the object    */
         LONG             yOrigin;  /* intended position for the object    */
         PSZ              pszTitle; /* intended name for the object        */
         ULONG            cbTitle;  /* length of the name buffer           */
         PMINIRECORDCORE  positionAfterRecord; /* intended sort position   */
         BOOL            fKeepAssociations;
         PVOID            pReserved;    /* reserved - equal null           */

      }  TASKREC;
      typedef TASKREC *PTASKREC;



      /* Owner draw function definition
       *
       *    Param1  HWND  - Handle of window that is being painted
       *    Param2  PVOID - POWNERITEM structure pointer, see the container
       *                    control programming reference for the meaning
       *                    of the fields in this structure.
       *    Param3  PVOID - Pointer to the comparison value to draw (this
       *                    is NULL, except when this function is painting
       *                    its value into the include criteria dialog
       *                    when it points to Criteria.CompareValue...)
       *
       *    Returns BOOL  - TRUE if the field was ownerdrawn, FALSE if the
       *                    container control should do default painting.
       */
      typedef BOOL (EXPENTRY FNOWNDRW)(HWND,PVOID,PVOID);
      typedef FNOWNDRW *PFNOWNDRW;



#pragma SOMAsDefault(pop)

      typedef struct _VIEWITEM         /* USAGE_OPENVIEW struct */
      {
         ULONG        view;            /* Object view that this represents */
         LHANDLE      handle;          /* Open handle */
         ULONG        ulViewState;     /* View State flags */
         HWND         hwndCnr;         /* System use only (window animation) */
         PMINIRECORDCORE pRecord;      /* System use only (window animation) */
      } VIEWITEM;
      typedef VIEWITEM *PVIEWITEM;


      /* Structure for wpclsQueryDetailsInfo method
       *
       * CLASSFIELDINFO is identical to the FIELDINFO structure of the
       * container control with the following differences:
       *
       * - The offStruct field from FIELDINFO is reserved.
       * - The offFieldData and usLenFieldData structure elements have
       *   been added.
       * - Compare/Sort/Ownerdraw fields have also been added for the
       *   convenience of the programmer, so that object details can
       *   be customized and objects can be found or included by any
       *   of their displayable object details.
       *
       * For example if the application has the following details data:
       *
       * typedef struct _SAMPLE {
       *   CDATE   cdate;
       *   CTIME   ctime;
       *   PSZ     psz;
       * }  SAMPLE;
       *
       * classfieldinfo[0].offFieldData   = FIELDOFFSET(SAMPLE,cdate);
       * classfieldinfo[0].ulLenFieldData = FIELDOFFSET(SAMPLE,ctime) -
       *                                    FIELDOFFSET(SAMPLE,cdate);
       *
       * classfieldinfo[1].offFieldData   = FIELDOFFSET(SAMPLE,ctime);
       * classfieldinfo[1].ulLenFieldData = FIELDOFFSET(SAMPLE,psz) -
       *                                    FIELDOFFSET(SAMPLE,ctime);
       *
       * classfieldinfo[2].offFieldData   = FIELDOFFSET(SAMPLE,psz);
       * classfieldinfo[2].ulLenFieldData = sizeof(SAMPLE) -
       *                                    FIELDOFFSET(SAMPLE,psz);
       *
       * NOTE: It is essential that the fields be linked in order ex. above
       *       cdate must be followed by ctime and finally psz.
       */
      typedef struct _CLASSFIELDINFO                                    /*!INC*/
      {
         /* Details field attributes
          */
         ULONG      cb;                  /* size of CLASSFIELDINFO struct  */
         ULONG      flData;              /* attributes of field's data     */
         ULONG      flTitle;             /* attributes of field's title    */
         PVOID      pTitleData;          /* title data (default is string) */
                                         /* If CFT_BITMAP, must be HBITMAP */
         ULONG      ulReserved;          /* Reserved                       */
         PVOID      pUserData;           /* pointer to user data           */
         struct _CLASSFIELDINFO *pNextFieldInfo; /* pointer to next linked */
                                                /* CLASSFIELDINFO structure*/
         ULONG      cxWidth;             /* width of field in pels         */
         ULONG      offFieldData;        /* offset from beginning of       */
                                         /*   this class's data for this   */
                                         /*   field. (first field is 0).   */
         ULONG      ulLenFieldData;      /* width of data in bytes.        */
                                         /*   (4 for a pointer).           */
         PFNOWNDRW  pfnOwnerDraw;        /* Ownerdraw procedure for detail */
                                         /* column. Can be NULL except if  */
                                         /* ownerdraw is being used.       */
         /* Include/Sort parameters
          */
         ULONG      flCompare;           /* Flags: for example, use the    */
                                         /*   COMPARE_SUPPORTED flag if    */
                                         /*   your field can be compared   */
         PFNCOMPARE pfnCompare;          /* Comparison function for this   */
                                         /*   field. Can be NULL unless    */
                                         /*   ownerdraw is used.           */
         ULONG      DefaultComparison;   /* This is the default compare    */
                                         /*   operator in the include      */
                                         /*   page criteria dialog. (eg:   */
                                         /*   CMP_LESS_OR_EQUAL)           */
         ULONG      ulLenCompareValue;   /* Maximum length of the compare  */
                                         /*   data. Can be NULL unless     */
                                         /*   ownerdraw is used.           */
         PVOID      pDefCompareValue;    /* The default value to be used   */
                                         /*   for comparisons. Can be NULL */
                                         /*   unless ownerdraw is used.    */
         PVOID      pMinCompareValue;    /* The default value to be used   */
                                         /*   for comparisons.Can be NULL  */
                                         /*   unless ownerdraw is used.    */
         PVOID      pMaxCompareValue;    /* The default value to be used   */
                                         /*   for comparisons.Can be NULL  */
                                         /*   unless ownerdraw is used.    */
         PSZ        pszEditControlClass; /* Window class to be used to edit*/
                                         /*   the compare value. Can be    */
                                         /*   NULL unless ownerdraw is used*/
         PFNCOMPARE pfnSort;             /* Sort function for this @SM09511*/
                                         /*   field. Can be NULL unless    */
                                         /*   ownerdraw is used.           */
         PSZ        *pNewComp;
      } CLASSFIELDINFO;

      typedef CLASSFIELDINFO *PCLASSFIELDINFO;

#pragma SOMAsDefault(on)

 #define CMP_EQUAL            0
      #define CMP_GREATER          1
      #define CMP_LESS             2
      #define CMP_GREATER_OR_EQUAL 3
      #define CMP_LESS_OR_EQUAL    4
      #define CMP_NOT_EQUAL        5

      #define NUM_CMP_VALUES       6


      #define COMPARE_SUPPORTED      1
      #define SORTBY_SUPPORTED       2

      /* Standard notebook size constants */
      #define STDNOTEBOOKWIDTH    290
      #define STDNOTEBOOKHEIGHT   275

      /* Confirm flags */
      #define CONFIRM_DELETE             0x0001
      #define CONFIRM_DELETEFOLDER       0x0002
      #define CONFIRM_RENAMEFILESWITHEXT 0x0004
      #define CONFIRM_KEEPASSOC          0x0008
      #define CONFIRM_ACTION             0x0010
      #define CONFIRM_PROGRESS           0x0020
      #define CONFIRM_ALLOWFORCEDELETE   0x0040
      #define CONFIRM_FORCEDELETE        0x0080

      #define OK_DELETE             1
      #define NO_DELETE             2
      #define CANCEL_DELETE         3

      #define NUM_OBJDETAILS_FIELDS    5     /* number of object details */

      /* Search Type for wpclsQueryExtendedCriteria */

      #define SEARCH_ALL_FOLDERS 1
      #define SEARCH_THIS_FOLDER 2
      #define SEARCH_THIS_TREE   3
 

      /* Find method related types and constants */

      typedef WPObject   *OBJECT;                             /* FIND */
      typedef OBJECT     *POBJECT;
      typedef M_WPObject *CLASS;
      typedef CLASS      *PCLASS;
      typedef LHANDLE     HFIND;
      typedef HFIND      *PHFIND;

     /*  Flags for the wpFilterPopupMenu() method */

      #define CTXT_CRANOTHER     0x0001   /* Flags for ulFlags */
      #define CTXT_NEW           CTXT_CRANOTHER
      #define CTXT_OPEN          0x0002
      #define CTXT_WINDOW        0x0004
      #define CTXT_SWITCHTO      CTXT_WINDOW
      #define CTXT_CLOSE         0x0008
      #define CTXT_SETTINGS      0x0010
      #define CTXT_PRINT         0x0020
      #define CTXT_HELP          0x0040
      #define CTXT_DELETE        0x0080
      #define CTXT_COPY          0x0100
      #define CTXT_MOVE          0x0200
      #define CTXT_SHADOW        0x0400
      #define CTXT_LINK          CTXT_SHADOW
      #define CTXT_PROGRAM       0x0800
      #define CTXT_ICON        0x001000
      #define CTXT_TREE        0x002000
      #define CTXT_DETAILS     0x004000
      #define CTXT_FIND        0x008000
      #define CTXT_SELECT      0x010000
      #define CTXT_ARRANGE     0x020000
      #define CTXT_SORT        0x040000
      #define CTXT_SHUTDOWN    0x080000
      #define CTXT_LOCKUP      0x100000
      #define CTXT_PALETTE     0x200000
      #define CTXT_REFRESH     0x400000
      #define CTXT_PICKUP      0x800000              /*rme88844*/
      #define CTXT_PUTDOWN        0x1000000          /*rme88844*/
      #define CTXT_PUTDOWN_CANCEL 0x2000000          /*rme88844*/

 
     /* Flags for the wpDisplayMenu() method */

     #define MENU_OBJECTPOPUP          0x00000001
     #define MENU_OPENVIEWPOPUP        0x00000002
     #define MENU_TITLEBARPULLDOWN     0x00000003
     #define MENU_TITLEBARPULLDOWNINT  0x00000004
     #define MENU_USER                 0x80000000

      /* common context menu ids */

      #define WPMENUID_USER          0x6500
      #define WPMENUID_PRIMARY            0
      #define WPMENUID_OPEN               1
      #define WPMENUID_HELP               2
      #define WPMENUID_PRINT              3
      #define WPMENUID_SELECT             4
      #define WPMENUID_SORT               5
      #define WPMENUID_TREE               123                                 /*DD 86092F*/  
      #define WPMENUID_FIND               8                                   /*DD 86092F*/  
      #define WPMENUID_CREATEANOTHER      101                                 /*DD 86092F*/  
      #define WPMENUID_MOVE               107                                 /*DD 86092F*/  
      #define WPMENUID_COPY               108                                 /*DD 86092F*/  
      #define WPMENUID_DELETE             109                                 /*DD 86092F*/  
      #define WPMENUID_PROPERTIES         112                                 /*DD 86092F*/  
      #define WPMENUID_SELALL             114                                 /*DD 86092F*/  
      #define WPMENUID_DESELALL           115                                 /*DD 86092F*/  
      #define WPMENUID_RESERVED1          118                                 /*DD 86092F*/  
      #define WPMENUID_CLOSE              120                                 /*DD 86092F*/  
      #define WPMENUID_FORMAT             124                                 /*DD 86092F*/  
      #define WPMENUID_CHKDSK             128                                 /*DD 86092F*/  
      #define WPMENUID_FIXDSK             129                                 /*DD 86092F*/  
      #define WPMENUID_PROGRAM            132                                 /*DD 86092F*/  
      #define WPMENUID_COPYDSK            182                                 /*DD 86092F*/  
      #define WPMENUID_LOCKDISK           184                                 /*DD 86092F*/  
      #define WPMENUID_EJECTDISK          185                                 /*DD 86092F*/  
      #define WPMENUID_UNLOCKDISK         186                                 /*DD 86092F*/  
      #define WPMENUID_PICKUP             188                                 /* rme77131*/  
      #define WPMENUID_PUTDOWN            189                                 /* rme77131*/  
      #define WPMENUID_PUTDOWN_COPY       190                                 /* rme77131*/  
      #define WPMENUID_PUTDOWN_MOVE       191                                 /* rme77131*/  
      #define WPMENUID_PUTDOWN_LINK       192                                 /* rme77131*/  
      #define WPMENUID_PUTDOWN_CANCEL     193                                 /* rme77131*/  
      #define WPMENUID_PUTDOWN_CREATE     194                                 /* rme77131*/  
      #define WPMENUID_ICON               303                                 /*DD 86092F*/  
      #define WPMENUID_DETAILS            304                                 /*DD 86092F*/  
      #define WPMENUID_ARRANGE            309                                 /*DD 86092F*/  
      #define WPMENUID_RESERVED2          315                                 /*DD 86092F*/  
      #define WPMENUID_CREATESHADOW       316                                 /*DD 86092F*/  
      #define WPMENUID_PALETTE            317                                 /*DD 86092F*/  
      #define WPMENUID_REFRESH            503                                 /*DD 86092F*/  
      #define WPMENUID_HELP_FOR_HELP      601                                 /*DD 86092F*/  
      #define WPMENUID_HOWTOGETHELP       601                                 /*DD 86092F*/  
      #define WPMENUID_EXTENDEDHELP       602                                 /*DD 86092F*/  
      #define WPMENUID_HELPKEYS           603                                 /*DD 86092F*/  
      #define WPMENUID_HELPINDEX          604                                 /*DD 86092F*/  
      #define WPMENUID_SHUTDOWN           704                                 /*DD 86092F*/  
      #define WPMENUID_LOCKUP             705                                 /*DD 86092F*/  
      #define WPMENUID_LOGIN              708                                 /*DD 86092F*/  
      #define WPMENUID_LOGOUT             709                                 /*DD 86092F*/  
      #define WPMENUID_ASSIGN             710                                 /*DD 86092F*/  
      #define WPMENUID_UNASSIGN           711                                 /*DD 86092F*/  
      #define WPMENUID_ACCESSNEW          712                                 /*DD 86092F*/  
      #define WPMENUID_SYSTEMSETUP        713                                 /*DD 86092F*/  




     /*  Open views for the wpOpen() method */

      #define OPEN_UNKNOWN      -1
      #define OPEN_DEFAULT       0
      #define OPEN_CONTENTS      1
      #define OPEN_SETTINGS      2
      #define OPEN_HELP          3
      #define OPEN_RUNNING       4
      #define OPEN_PROMPTDLG     5
      #define OPEN_PALETTE       121                                   /*SPLIT*/
      #define OPEN_USER          0x6500


    /* Macro to return the object associated with a given MINIRECORDCORE
       * that was inserted using the wpCnrInsertObject method
       */
      #define OBJECT_FROM_PREC( prec )   ( (PVOID)( * (((PULONG)prec)-2) ) )

      /* wpDrop method return code  */

      #define RC_DROP_DROPCOMPLETE 2
      #define RC_DROP_ITEMCOMPLETE 1
      #define RC_DROP_RENDERING    0
      #define RC_DROP_ERROR       -1



#define VIEW_CONTENTS      0x00000001
#define VIEW_SETTINGS      0x00000002
#define VIEW_HELP          0x00000004
#define VIEW_RUNNING       0x00000008
#define VIEW_DETAILS       0x00000010
#define VIEW_TREE          0x00000020
#define VIEW_ANY           0xFFFFFFFF  /* Special case - will find any ViewItem */







/********************************************/




/*********** From WPObject.h ******************/
/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define WPObjectNewClass wpobjc
#pragma linkage(wpobjc, system)
#define WPObjectClassData wpobjd
#define WPObjectCClassData wpobjx
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */

#ifndef SOM_Resolve

#define somresolve_(obj,mToken) (somResolve(obj,mToken))

/* from oc's mtbl, with verification of o */
#define SOM_Resolve(o, ocn, mn) \
    (( somTD_ ## ocn ## _ ## mn ) \
     somresolve_(SOM_TestCls(o, ocn ## ClassData.classObject), \
                ocn ## ClassData.mn ))
#endif

#define WPObject_classObj WPObjectClassData.classObject
#define _WPObject WPObject_classObj

/*
 * Declare the class creation procedure
 */
SOMEXTERN SOMClass * SOMLINK WPObjectNewClass(integer4 somtmajorVersion,
		integer4 somtminorVersion);

/*
 * Declare the class data structure
 */
SOMEXTERN struct WPObjectClassDataStructure {
	SOMClass *classObject;
	somMToken wpSetTitle;
	somMToken wpQueryTitle;
	somMToken wpSetStyle;
	somMToken wpQueryStyle;
	somMToken wpSetIcon;
	somMToken wpQueryIcon;
	somMToken wpSetFolder;
	somMToken wpQueryFolder;
	somMToken wpObjectPrivate1;
	somMToken wpObjectPrivate2;
	somMToken wpSetDefaultView;
	somMToken wpQueryDefaultView;
	somMToken wpObjectPrivate3;
	somMToken wpSaveState;
	somMToken wpObjectPrivate4;
	somMToken wpObjectPrivate5;
	somMToken wpSaveLong;
	somMToken wpSaveString;
	somMToken wpSaveData;
	somMToken wpObjectPrivate6;
	somMToken wpRestoreState;
	somMToken wpObjectPrivate7;
	somMToken wpObjectPrivate8;
	somMToken wpRestoreLong;
	somMToken wpRestoreString;
	somMToken wpRestoreData;
	somMToken wpObjectPrivate9;
	somMToken wpAllocMem;
	somMToken wpFreeMem;
	somMToken wpAddToObjUseList;
	somMToken wpDeleteFromObjUseList;
	somMToken wpFindUseItem;
	somMToken wpSwitchTo;
	somMToken withdrawn1;
	somMToken wpFilterPopupMenu;
	somMToken wpModifyPopupMenu;
	somMToken wpMenuItemSelected;
	somMToken wpFormatDragItem;
	somMToken wpDrop;
	somMToken wpDragOver;
	somMToken wpRender;
	somMToken wpEndConversation;
	somMToken withdrawn10;
	somMToken wpObjectPrivate10;
	somMToken wpObjectPrivate11;
	somMToken wpFree;
	somMToken wpCopiedFromTemplate;
	somMToken wpAddSettingsPages;
	somMToken wpAddObjectGeneralPage;
	somMToken wpDisplayHelp;
	somMToken wpMenuItemHelpSelected;
	somMToken wpInsertSettingsPage;
	somMToken wpInsertPopupMenuItems;
	somMToken withdrawn5;
	somMToken withdrawn6;
	somMToken withdrawn4;
	somMToken withdrawn3;
	somMToken wpCnrInsertObject;
	somMToken wpCnrRemoveObject;
	somMToken wpInitData;
	somMToken wpUnInitData;
	somMToken wpSetup;
	somMToken wpScanSetupString;
	somMToken wpSaveImmediate;
	somMToken wpOpen;
	somMToken wpClose;
	somMToken wpHide;
	somMToken wpRestore;
	somMToken wpSetIconData;
	somMToken wpQueryIconData;
	somMToken wpObjectPrivate12;
	somMToken wpDelete;
	somMToken wpConfirmDelete;
	somMToken withdrawn2;
	somMToken withdrawn11;
	somMToken withdrawn7;
	somMToken wpRegisterView;
	somMToken wpIdentify;
	somMToken wpSetDefaultHelp;
	somMToken wpQueryDefaultHelp;
	somMToken wpDoesObjectMatch;
	somMToken wpCnrRefreshDetails;
	somMToken wpSetError;
	somMToken wpQueryError;
	somMToken wpDraggedOverObject;
	somMToken wpDroppedOnObject;
	somMToken wpSetDefaultIconPos;
	somMToken wpQueryDefaultIconPos;
	somMToken wpObjectPrivate13;
	somMToken wpObjectPrivate14;
	somMToken wpSetObjectID;
	somMToken wpQueryObjectID;
	somMToken wpIsDeleteable;
	somMToken wpQueryHandle;
	somMToken wpSaveDeferred;
	somMToken wpAddObjectWindowPage;
	somMToken wpQueryConcurrentView;
	somMToken wpSetConcurrentView;
	somMToken wpQueryMinWindow;
	somMToken wpSetMinWindow;
	somMToken wpViewObject;
	somMToken wpQueryButtonAppearance;
	somMToken wpSetButtonAppearance;
	somMToken wpQueryConfirmations;
	somMToken wpCnrSetEmphasis;
	somMToken wpQueryCoreRecord;
	somMToken wpFindViewItem;
	somMToken wpCreateFromTemplate;
	somMethodProc *wpQueryTrueStyle;
	somMToken wpAssertObjectMutexSem;
	somMToken wpReleaseObjectMutexSem;
	somMToken wpRequestObjectMutexSem;
	somMToken wpCreateAnother;
	somMToken wpCreateShadowObject;
	somMToken wpCopyObject;
	somMToken wpMoveObject;
	somMToken wpLockObject;
	somMToken wpUnlockObject;
	somMToken wpIsLocked;
	somMToken wpRenderComplete;
	somMToken wpQueryDetailsData;
	somMToken wpPrintObject;
	somMToken wpObjectPrivate15;
	somMToken wpSetTaskRec;
	somMToken wpObjectPrivate16;
	somMToken wpModifyStyle;
	somMToken wpObjectPrivate17;
	somMToken wpFindTaskRec;
	somMToken wpAppendObject;
	somMToken wpReplaceObject;
	somMToken wpQueryNameClashOptions;
	somMToken wpConfirmObjectTitle;
	somMToken _get_pobjNext;
	somMToken wpQueryContainerFlagPtr;
	somMToken wpObjectPrivate18;
	somMToken wpObjectPrivate19;
	somMToken wpObjectPrivate20;
	somMToken wpCnrDeleteUseItem;
	somMToken wpObjectReady;
	somMToken wpIsObjectInitialized;
	somMToken wpCreateShadowObjectExt;
	somMToken wpObjectPrivate21;
	somMToken wpObjectPrivate22;
	somMToken wpObjectPrivate26;
	somMToken wpDisplayMenu;
	somMToken wpWaitForClose;
	somMToken wpQueryScreenGroupID;
	somMToken wpSetupOnce;
	somMToken wpAddObjectGeneralPage2;
	somMToken wpObjectPrivate23;
	somMToken wpObjectPrivate24;
	somMToken wpModifyMenu;
	somMToken wpFilterMenu;
	somMToken wpInsertMenuItems;
	somMToken wpSetMenuStyle;
	somMToken wpQueryMenuStyle;
	somMToken wpObjectPrivate27;
	somMToken wpObjectPrivate28;
	somMToken wpObjectPrivate29;
	somMToken wpObjectPrivate30;
	somMToken wpQueryOpenView;
	somMToken wpSetOpenView;
	somMToken wpObjectPrivate31;
	somMToken wpObjectPrivate32;
	somMToken wpObjectPrivate33;
} SOMDLINK WPObjectClassData;

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct WPObjectCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOMDLINK WPObjectCClassData;


/*
 * New and Renew macros for WPObject
 */
#define WPObjectNew() \
   (_somNew(_WPObject ? _WPObject : WPObjectNewClass(WPObject_MajorVersion, WPObject_MinorVersion)))
#define WPObjectRenew(buf) \
   (_somRenew(_WPObject ? _WPObject : WPObjectNewClass(WPObject_MajorVersion, WPObject_MinorVersion), buf))

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

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

/*
 * Override method: somDefaultInit
 */
#define WPObject_somDefaultInit(somSelf,ctrl) \
	SOMObject_somDefaultInit(somSelf,ctrl)

/*
 * Override method: somDestruct
 */
#define WPObject_somDestruct(somSelf,doFree,ctrl) \
	SOMObject_somDestruct(somSelf,doFree,ctrl)

/*
 * New Method: wpAddSettingsPages, inserted by CW
 */
typedef ULONG   SOMLINK somTP_WPObject_wpAddSettingsPages(WPObject *somSelf,
		HWND hwndNotebook);
//#pragma linkage(somTP_WPObject_wpAddSettingsPages, system)
typedef somTP_WPObject_wpAddSettingsPages *somTD_WPObject_wpAddSettingsPages;
#define somMD_WPObject_wpAddSettingsPages "::WPObject::wpAddSettingsPages"
#define WPObject_wpAddSettingsPages(somSelf,hwndNotebook) \
    (SOM_Resolve(somSelf, WPObject, wpAddSettingsPages) \
	(somSelf,hwndNotebook))
#ifndef SOMGD_wpAddSettingsPages
    #if (defined(_wpAddSettingsPages) || defined(__wpAddSettingsPages))
        #undef _wpAddSettingsPages
        #undef __wpAddSettingsPages
        #define SOMGD_wpAddSettingsPages 1
    #else
        #define _wpAddSettingsPages WPObject_wpAddSettingsPages
    #endif /* _wpAddSettingsPages */
#endif /* SOMGD_wpAddSettingsPages */

/*
 * New Method: wpClose
 */
typedef BOOL   SOMLINK somTP_WPObject_wpClose(WPObject *somSelf);
//#pragma linkage(somTP_WPObject_wpClose, system)
typedef somTP_WPObject_wpClose *somTD_WPObject_wpClose;
#define somMD_WPObject_wpClose "::WPObject::wpClose"
#define WPObject_wpClose(somSelf) \
    (SOM_Resolve(somSelf, WPObject, wpClose) \
	(somSelf))
#ifndef SOMGD_wpClose
    #if (defined(_wpClose) || defined(__wpClose))
        #undef _wpClose
        #undef __wpClose
        #define SOMGD_wpClose 1
    #else
        #define _wpClose WPObject_wpClose
    #endif /* _wpClose */
#endif /* SOMGD_wpClose */


/*
 * New Method: wpDelete
 */
typedef ULONG   SOMLINK somTP_WPObject_wpDelete(WPObject *somSelf,
		ULONG fConfirmations);
//#pragma linkage(somTP_WPObject_wpDelete, system)
typedef somTP_WPObject_wpDelete *somTD_WPObject_wpDelete;
#define somMD_WPObject_wpDelete "::WPObject::wpDelete"
#define WPObject_wpDelete(somSelf,fConfirmations) \
    (SOM_Resolve(somSelf, WPObject, wpDelete) \
	(somSelf,fConfirmations))
#ifndef SOMGD_wpDelete
    #if (defined(_wpDelete) || defined(__wpDelete))
        #undef _wpDelete
        #undef __wpDelete
        #define SOMGD_wpDelete 1
    #else
        #define _wpDelete WPObject_wpDelete
    #endif /* _wpDelete */
#endif /* SOMGD_wpDelete */

/*
 * New Method: wpFilterPopupMenu, inserted by CW
 */
typedef ULONG   SOMLINK somTP_WPObject_wpFilterPopupMenu(WPObject *somSelf,
		ULONG ulFlags,
		HWND hwndCnr,
		BOOL fMultiSelect);
//#pragma linkage(somTP_WPObject_wpFilterPopupMenu, system)
typedef somTP_WPObject_wpFilterPopupMenu *somTD_WPObject_wpFilterPopupMenu;
#define somMD_WPObject_wpFilterPopupMenu "::WPObject::wpFilterPopupMenu"
#define WPObject_wpFilterPopupMenu(somSelf,ulFlags,hwndCnr,fMultiSelect) \
    (SOM_Resolve(somSelf, WPObject, wpFilterPopupMenu) \
	(somSelf,ulFlags,hwndCnr,fMultiSelect))
#ifndef SOMGD_wpFilterPopupMenu
    #if (defined(_wpFilterPopupMenu) || defined(__wpFilterPopupMenu))
        #undef _wpFilterPopupMenu
        #undef __wpFilterPopupMenu
        #define SOMGD_wpFilterPopupMenu 1
    #else
        #define _wpFilterPopupMenu WPObject_wpFilterPopupMenu
    #endif /* _wpFilterPopupMenu */
#endif /* SOMGD_wpFilterPopupMenu */



/*
 * New Method: wpInitData, inserted by CW
 */
typedef ULONG   SOMLINK somTP_WPObject_wpInitData(WPObject *somSelf);
//#pragma linkage(somTP_WPObject_wpInitData, system)
typedef somTP_WPObject_wpInitData *somTD_WPObject_wpInitData;
#define somMD_WPObject_wpInitData "::WPObject::wpInitData"
#define WPObject_wpInitData(somSelf) \
    (SOM_Resolve(somSelf, WPObject, wpInitData) \
	(somSelf))
#ifndef SOMGD_wpInitData
    #if (defined(_wpInitData) || defined(__wpInitData))
        #undef _wpInitData
        #undef __wpInitData
        #define SOMGD_wpInitData 1
    #else
        #define _wpInitData WPObject_wpInitData
    #endif /* _wpInitData */
#endif /* SOMGD_wpInitData */

/*
 * New Method: wpOpen, inserted by CW
 */
typedef HWND   SOMLINK somTP_WPObject_wpOpen(WPObject *somSelf,
		HWND hwndCnr,
		ULONG ulView,
		ULONG param);
//#pragma linkage(somTP_WPObject_wpOpen, system)
typedef somTP_WPObject_wpOpen *somTD_WPObject_wpOpen;
#define somMD_WPObject_wpOpen "::WPObject::wpOpen"
#define WPObject_wpOpen(somSelf,hwndCnr,ulView,param) \
    (SOM_Resolve(somSelf, WPObject, wpOpen) \
	(somSelf,hwndCnr,ulView,param))
#ifndef SOMGD_wpOpen
    #if (defined(_wpOpen) || defined(__wpOpen))
        #undef _wpOpen
        #undef __wpOpen
        #define SOMGD_wpOpen 1
    #else
        #define _wpOpen WPObject_wpOpen
    #endif /* _wpOpen */
#endif /* SOMGD_wpOpen */

/*
 * New Method: wpRestoreState
 */
typedef BOOL   SOMLINK somTP_WPObject_wpRestoreState(WPObject *somSelf,
		ULONG ulReserved);
//#pragma linkage(somTP_WPObject_wpRestoreState, system)
typedef somTP_WPObject_wpRestoreState *somTD_WPObject_wpRestoreState;
#define somMD_WPObject_wpRestoreState "::WPObject::wpRestoreState"
#define WPObject_wpRestoreState(somSelf,ulReserved) \
    (SOM_Resolve(somSelf, WPObject, wpRestoreState) \
	(somSelf,ulReserved))
#ifndef SOMGD_wpRestoreState
    #if (defined(_wpRestoreState) || defined(__wpRestoreState))
        #undef _wpRestoreState
        #undef __wpRestoreState
        #define SOMGD_wpRestoreState 1
    #else
        #define _wpRestoreState WPObject_wpRestoreState
    #endif /* _wpRestoreState */
#endif /* SOMGD_wpRestoreState */

/*
 * New Method: wpSaveState
 */
typedef BOOL   SOMLINK somTP_WPObject_wpSaveState(WPObject *somSelf);
//#pragma linkage(somTP_WPObject_wpSaveState, system)
typedef somTP_WPObject_wpSaveState *somTD_WPObject_wpSaveState;
#define somMD_WPObject_wpSaveState "::WPObject::wpSaveState"
#define WPObject_wpSaveState(somSelf) \
    (SOM_Resolve(somSelf, WPObject, wpSaveState) \
	(somSelf))
#ifndef SOMGD_wpSaveState
    #if (defined(_wpSaveState) || defined(__wpSaveState))
        #undef _wpSaveState
        #undef __wpSaveState
        #define SOMGD_wpSaveState 1
    #else
        #define _wpSaveState WPObject_wpSaveState
    #endif /* _wpSaveState */
#endif /* SOMGD_wpSaveState */

/*
 * New Method: wpSetupOnce
 */
typedef BOOL   SOMLINK somTP_WPObject_wpSetupOnce(WPObject *somSelf,
		PSZ pszSetupString);
//#pragma linkage(somTP_WPObject_wpSetupOnce, system)
typedef somTP_WPObject_wpSetupOnce *somTD_WPObject_wpSetupOnce;
#define somMD_WPObject_wpSetupOnce "::WPObject::wpSetupOnce"
#define WPObject_wpSetupOnce(somSelf,pszSetupString) \
    (SOM_Resolve(somSelf, WPObject, wpSetupOnce) \
	(somSelf,pszSetupString))
#ifndef SOMGD_wpSetupOnce
    #if (defined(_wpSetupOnce) || defined(__wpSetupOnce))
        #undef _wpSetupOnce
        #undef __wpSetupOnce
        #define SOMGD_wpSetupOnce 1
    #else
        #define _wpSetupOnce WPObject_wpSetupOnce
    #endif /* _wpSetupOnce */
#endif /* SOMGD_wpSetupOnce */


/*
 * New Method: wpUnInitData
 */
typedef void   SOMLINK somTP_WPObject_wpUnInitData(WPObject *somSelf);
//#pragma linkage(somTP_WPObject_wpUnInitData, system)
typedef somTP_WPObject_wpUnInitData *somTD_WPObject_wpUnInitData;
#define somMD_WPObject_wpUnInitData "::WPObject::wpUnInitData"
#define WPObject_wpUnInitData(somSelf) \
    (SOM_Resolve(somSelf, WPObject, wpUnInitData) \
	(somSelf))
#ifndef SOMGD_wpUnInitData
    #if (defined(_wpUnInitData) || defined(__wpUnInitData))
        #undef _wpUnInitData
        #undef __wpUnInitData
        #define SOMGD_wpUnInitData 1
    #else
        #define _wpUnInitData WPObject_wpUnInitData
    #endif /* _wpUnInitData */
#endif /* SOMGD_wpUnInitData */

/*
 * New Method: wpMenuItemSelected
 */
typedef BOOL   SOMLINK somTP_WPObject_wpMenuItemSelected(WPObject *somSelf,
		HWND hwndFrame,
		ULONG ulMenuId);
//#pragma linkage(somTP_WPObject_wpMenuItemSelected, system)
typedef somTP_WPObject_wpMenuItemSelected *somTD_WPObject_wpMenuItemSelected;
#define somMD_WPObject_wpMenuItemSelected "::WPObject::wpMenuItemSelected"
#define WPObject_wpMenuItemSelected(somSelf,hwndFrame,ulMenuId) \
    (SOM_Resolve(somSelf, WPObject, wpMenuItemSelected) \
	(somSelf,hwndFrame,ulMenuId))
#ifndef SOMGD_wpMenuItemSelected
    #if (defined(_wpMenuItemSelected) || defined(__wpMenuItemSelected))
        #undef _wpMenuItemSelected
        #undef __wpMenuItemSelected
        #define SOMGD_wpMenuItemSelected 1
    #else
        #define _wpMenuItemSelected WPObject_wpMenuItemSelected
    #endif /* _wpMenuItemSelected */
#endif /* SOMGD_wpMenuItemSelected */



/*
 * New Method: wpModifyPopupMenu
 */
typedef BOOL   SOMLINK somTP_WPObject_wpModifyPopupMenu(WPObject *somSelf,
		HWND hwndMenu,
		HWND hwndCnr,
		ULONG iPosition);
//#pragma linkage(somTP_WPObject_wpModifyPopupMenu, system)
typedef somTP_WPObject_wpModifyPopupMenu *somTD_WPObject_wpModifyPopupMenu;
#define somMD_WPObject_wpModifyPopupMenu "::WPObject::wpModifyPopupMenu"
#define WPObject_wpModifyPopupMenu(somSelf,hwndMenu,hwndCnr,iPosition) \
    (SOM_Resolve(somSelf, WPObject, wpModifyPopupMenu) \
	(somSelf,hwndMenu,hwndCnr,iPosition))
#ifndef SOMGD_wpModifyPopupMenu
    #if (defined(_wpModifyPopupMenu) || defined(__wpModifyPopupMenu))
        #undef _wpModifyPopupMenu
        #undef __wpModifyPopupMenu
        #define SOMGD_wpModifyPopupMenu 1
    #else
        #define _wpModifyPopupMenu WPObject_wpModifyPopupMenu
    #endif /* _wpModifyPopupMenu */
#endif /* SOMGD_wpModifyPopupMenu */

/*
 * New Method: wpSetup
 */
typedef BOOL   SOMLINK somTP_WPObject_wpSetup(WPObject *somSelf,
		PSZ pszSetupString);
//#pragma linkage(somTP_WPObject_wpSetup, system)
typedef somTP_WPObject_wpSetup *somTD_WPObject_wpSetup;
#define somMD_WPObject_wpSetup "::WPObject::wpSetup"
#define WPObject_wpSetup(somSelf,pszSetupString) \
    (SOM_Resolve(somSelf, WPObject, wpSetup) \
	(somSelf,pszSetupString))
#ifndef SOMGD_wpSetup
    #if (defined(_wpSetup) || defined(__wpSetup))
        #undef _wpSetup
        #undef __wpSetup
        #define SOMGD_wpSetup 1
    #else
        #define _wpSetup WPObject_wpSetup
    #endif /* _wpSetup */
#endif /* SOMGD_wpSetup */

/*
 * New Method: wpViewObject, adapted and inserted by CW (copied from wpobject.h)
 */

typedef HWND   SOMLINK somTP_WPObject_wpViewObject(WPObject *somSelf,
		HWND hwndCnr,
		ULONG ulView,
		ULONG param);
//#pragma linkage(somTP_WPObject_wpViewObject, system) //comment by CW
typedef somTP_WPObject_wpViewObject *somTD_WPObject_wpViewObject;
#define somMD_WPObject_wpViewObject "::WPObject::wpViewObject"
#define WPObject_wpViewObject(somSelf,hwndCnr,ulView,param) \
    (SOM_Resolve(somSelf, WPObject, wpViewObject) \
	(somSelf,hwndCnr,ulView,param))
#ifndef SOMGD_wpViewObject
    #if (defined(_wpViewObject) || defined(__wpViewObject))
        #undef _wpViewObject
        #undef __wpViewObject
        #define SOMGD_wpViewObject 1
    #else
        #define _wpViewObject WPObject_wpViewObject
    #endif /* _wpViewObject */
#endif /* SOMGD_wpViewObject */

/*
 * New Method: wpCreateShadowObjectExt
 */
typedef WPObject*   SOMLINK somTP_WPObject_wpCreateShadowObjectExt(WPObject *somSelf,
		WPFolder* Folder,
		BOOL fLock,
		PSZ pszSetup,
		M_WPObject* shadowClass);
//#pragma linkage(somTP_WPObject_wpCreateShadowObjectExt, system)
typedef somTP_WPObject_wpCreateShadowObjectExt *somTD_WPObject_wpCreateShadowObjectExt;
#define somMD_WPObject_wpCreateShadowObjectExt "::WPObject::wpCreateShadowObjectExt"
#define WPObject_wpCreateShadowObjectExt(somSelf,Folder,fLock,pszSetup,shadowClass) \
    (SOM_Resolve(somSelf, WPObject, wpCreateShadowObjectExt) \
	(somSelf,Folder,fLock,pszSetup,shadowClass))
#ifndef SOMGD_wpCreateShadowObjectExt
    #if (defined(_wpCreateShadowObjectExt) || defined(__wpCreateShadowObjectExt))
        #undef _wpCreateShadowObjectExt
        #undef __wpCreateShadowObjectExt
        #define SOMGD_wpCreateShadowObjectExt 1
    #else
        #define _wpCreateShadowObjectExt WPObject_wpCreateShadowObjectExt
    #endif /* _wpCreateShadowObjectExt */
#endif /* SOMGD_wpCreateShadowObjectExt */


/*
 * New Method: wpCopiedFromTemplate
 */
typedef void   SOMLINK somTP_WPObject_wpCopiedFromTemplate(WPObject *somSelf);
//#pragma linkage(somTP_WPObject_wpCopiedFromTemplate, system)
typedef somTP_WPObject_wpCopiedFromTemplate *somTD_WPObject_wpCopiedFromTemplate;
#define somMD_WPObject_wpCopiedFromTemplate "::WPObject::wpCopiedFromTemplate"
#define WPObject_wpCopiedFromTemplate(somSelf) \
    (SOM_Resolve(somSelf, WPObject, wpCopiedFromTemplate) \
	(somSelf))
#ifndef SOMGD_wpCopiedFromTemplate
    #if (defined(_wpCopiedFromTemplate) || defined(__wpCopiedFromTemplate))
        #undef _wpCopiedFromTemplate
        #undef __wpCopiedFromTemplate
        #define SOMGD_wpCopiedFromTemplate 1
    #else
        #define _wpCopiedFromTemplate WPObject_wpCopiedFromTemplate
    #endif /* _wpCopiedFromTemplate */
#endif /* SOMGD_wpCopiedFromTemplate */

/*
 * New Method: wpDrop
 */
typedef MRESULT   SOMLINK somTP_WPObject_wpDrop(WPObject *somSelf, 
		HWND hwndCnr, 
		PDRAGINFO pdrgInfo, 
		PDRAGITEM pdrgItem);
//#pragma linkage(somTP_WPObject_wpDrop, system)
typedef somTP_WPObject_wpDrop *somTD_WPObject_wpDrop;
#define somMD_WPObject_wpDrop "::WPObject::wpDrop"
#define WPObject_wpDrop(somSelf,hwndCnr,pdrgInfo,pdrgItem) \
    (SOM_Resolve(somSelf, WPObject, wpDrop) \
	(somSelf,hwndCnr,pdrgInfo,pdrgItem))
#ifndef SOMGD_wpDrop
    #if (defined(_wpDrop) || defined(__wpDrop))
        #undef _wpDrop
        #undef __wpDrop
        #define SOMGD_wpDrop 1
    #else
        #define _wpDrop WPObject_wpDrop
    #endif /* _wpDrop */
#endif /* SOMGD_wpDrop */


#ifndef SOM_DONT_USE_INHERITED_MACROS
#define WPObject_somDefaultCopyInit SOMObject_somDefaultCopyInit
#define WPObject_somDefaultAssign SOMObject_somDefaultAssign
#define WPObject_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
#define WPObject_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
#define WPObject_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
#define WPObject_somDefaultConstAssign SOMObject_somDefaultConstAssign
#define WPObject_somDefaultVAssign SOMObject_somDefaultVAssign
#define WPObject_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
#define WPObject_somFree SOMObject_somFree
#define WPObject_somGetClass SOMObject_somGetClass
#define WPObject_somGetClassName SOMObject_somGetClassName
#define WPObject_somGetSize SOMObject_somGetSize
#define WPObject_somIsA SOMObject_somIsA
#define WPObject_somIsInstanceOf SOMObject_somIsInstanceOf
#define WPObject_somRespondsTo SOMObject_somRespondsTo
#define WPObject_somDispatch SOMObject_somDispatch
#define WPObject_somClassDispatch SOMObject_somClassDispatch
#define WPObject_somCastObj SOMObject_somCastObj
#define WPObject_somResetObj SOMObject_somResetObj
#define WPObject_somDispatchV SOMObject_somDispatchV
#define WPObject_somDispatchL SOMObject_somDispatchL
#define WPObject_somDispatchA SOMObject_somDispatchA
#define WPObject_somDispatchD SOMObject_somDispatchD
#define WPObject_somPrintSelf SOMObject_somPrintSelf
#define WPObject_somDumpSelf SOMObject_somDumpSelf
#define WPObject_somDumpSelfInt SOMObject_somDumpSelfInt
#endif /* SOM_DONT_USE_INHERITED_MACROS */



/************ End from WPObject.h **************/

#pragma SOMAsDefault(on)
class WPObject : public SOMObject {

	#pragma SOMClassName(*, "WPObject")
	#pragma SOMNoMangling(*)
	#pragma SOMNonDTS(*)

     #pragma SOMClassName (WPObject, "WPObject")
  /* #pragma SOMMetaClass (WPObject, "M_WPObject")  */
     #pragma SOMClassVersion (WPObject, 1, 2)
     #pragma SOMCallstyle (oidl)
     #pragma SOMAsDefault(off)
     #pragma SOMAsDefault(pop)
  public :
     virtual ULONG wpAddObjectGeneralPage(HWND hwndNotebook);
     virtual ULONG wpAddObjectGeneralPage2(HWND hwndNotebook);
     virtual ULONG wpAddObjectWindowPage(HWND hwndNotebook);
     virtual BOOL wpAddSettingsPages(HWND hwndNotebook);
     virtual BOOL wpAddToObjUseList(PUSEITEM pUseItem);
     virtual PBYTE wpAllocMem(ULONG cbBytes, PULONG prc);
     virtual BOOL32 wpAppendObject(WPObject* targetObject, BOOL32 fMove);
     virtual BOOL wpAssertObjectMutexSem();
     virtual BOOL wpClose();
     virtual PMINIRECORDCORE wpCnrInsertObject(HWND hwndCnr, 
                                               PPOINTL pptlIcon, 
                                               PMINIRECORDCORE preccParent, 
                                               PRECORDINSERT pRecInsert);
     virtual BOOL wpCnrRemoveObject(HWND hwndCnr);
     virtual BOOL wpCnrSetEmphasis(ULONG ulEmphasisAttr, BOOL fTurnOn);
     virtual ULONG wpConfirmDelete(ULONG fConfirmations);
     virtual ULONG wpConfirmObjectTitle(WPFolder* Folder, WPObject** ppDuplicate, 
                                        PSZ pszTitle, ULONG cbTitle, 
                                        ULONG menuID);
     virtual void wpCopiedFromTemplate();
     virtual WPObject* wpCopyObject(WPFolder* Folder, BOOL fLock);
     virtual WPObject* wpCreateAnother(PSZ pszTitle, PSZ pszSetupEnv, 
                                       WPFolder* Folder);
     virtual WPObject* wpCreateFromTemplate(WPFolder* folder, 
                                            BOOL fLock);
     virtual WPObject* wpCreateShadowObject(WPFolder* Folder, 
                                            BOOL fLock);
     virtual ULONG wpDelete(ULONG fConfirmations);
     virtual BOOL wpDeleteFromObjUseList(PUSEITEM pUseItem);
     virtual BOOL wpDisplayHelp(ULONG HelpPanelId, PSZ HelpLibrary);
     virtual HWND wpDisplayMenu(HWND hwndOwner, HWND hwndClient, 
                                POINTL* ptlPopupPt, ULONG ulMenuType, 
                                ULONG ulReserved);
     virtual BOOL wpDoesObjectMatch(PVOID pvoidExtendedCriteria);
     virtual MRESULT wpDraggedOverObject(WPObject* DraggedOverObject);
     virtual MRESULT wpDragOver(HWND hwndCnr, PDRAGINFO pdrgInfo);
     virtual MRESULT wpDrop(HWND hwndCnr, PDRAGINFO pdrgInfo, 
                            PDRAGITEM pdrgItem);
     virtual BOOL wpDroppedOnObject(WPObject* DroppedOnObject);
     virtual MRESULT wpEndConversation(ULONG ulItemID, ULONG flResult);
     virtual ULONG wpFilterPopupMenu(ULONG ulFlags, HWND hwndCnr, 
                                     BOOL fMultiSelect);
     virtual PUSEITEM wpFindUseItem(ULONG type, PUSEITEM pCurrentItem);
     virtual BOOL wpFormatDragItem(PDRAGITEM pdrgItem);
     virtual BOOL wpFree();
     virtual BOOL wpFreeMem(PBYTE pByte);
     virtual BOOL wpHide();
     virtual void wpInitData();
     virtual BOOL wpInsertPopupMenuItems(HWND hwndMenu, ULONG iPosition, 
                                         HMODULE hmod, ULONG MenuID, 
                                         ULONG SubMenuID);
     virtual ULONG wpInsertSettingsPage(HWND hwndNotebook, PPAGEINFO ppageinfo);
     virtual BOOL wpMenuItemHelpSelected(ULONG MenuId);
     virtual BOOL wpMenuItemSelected(HWND hwndFrame, ULONG ulMenuId);
     virtual BOOL wpModifyPopupMenu(HWND hwndMenu, HWND hwndCnr, 
                                    ULONG iPosition);
     virtual BOOL wpMoveObject(WPFolder* Folder);
     virtual HWND wpOpen(HWND hwndCnr, ULONG ulView, ULONG param);
     virtual BOOL wpPrintObject(PPRINTDEST pPrintDest, ULONG ulReserved);
     virtual ULONG wpQueryConcurrentView();
     virtual ULONG wpQueryButtonAppearance();
     virtual ULONG wpQueryConfirmations();
     virtual BOOL wpQueryDefaultHelp(PULONG pHelpPanelId, PSZ HelpLibrary);
     virtual ULONG wpQueryDefaultView();
     virtual ULONG wpQueryDetailsData(PVOID* ppDetailsData, PULONG pcp);
     virtual ULONG wpQueryError();
     virtual BOOL wpSetFolder(WPObject* container);
     virtual WPObject* wpQueryFolder();
     virtual HPOINTER wpQueryIcon();
     virtual ULONG wpQueryIconData(PICONINFO pIconInfo);
     virtual ULONG wpQueryMinWindow();
     virtual ULONG wpQueryNameClashOptions(ULONG menuID);
     virtual ULONG wpQueryStyle();
     virtual BOOL32 wpSetTaskRec(PTASKREC pNew, PTASKREC pOld);
     virtual PTASKREC wpFindTaskRec();
     virtual PSZ wpQueryTitle();
     virtual BOOL wpRegisterView(HWND hwndFrame, PSZ pszViewTitle);
     virtual ULONG wpReleaseObjectMutexSem();
     virtual MRESULT wpRender(PDRAGTRANSFER pdxfer);
     virtual MRESULT wpRenderComplete(PDRAGTRANSFER pdxfer, ULONG ulResult);
     virtual BOOL32 wpReplaceObject(WPObject* targetObject, BOOL32 fMove);
     virtual ULONG wpRequestObjectMutexSem(ULONG ulTimeout);
     virtual BOOL wpRestore();
     virtual BOOL wpRestoreData(PSZ pszClass, ULONG ulKey, PBYTE pValue, 
                                PULONG pcbValue);
     virtual BOOL wpRestoreLong(PSZ pszClass, ULONG ulKey, PULONG pulValue);
     virtual BOOL wpRestoreState(ULONG ulReserved);
     virtual BOOL wpRestoreString(PSZ pszClass, ULONG ulKey, 
                                  PSZ pszValue, PULONG pcbValue);
     virtual BOOL wpSaveData(PSZ pszClass, ULONG ulKey, PBYTE pValue, 
                             ULONG cbValue);
     virtual BOOL wpSaveImmediate();
     virtual BOOL wpSaveDeferred();
     virtual BOOL wpSaveLong(PSZ pszClass, ULONG ulKey, ULONG ulValue);
     virtual BOOL wpSaveState();
     virtual BOOL wpSaveString(PSZ pszClass, ULONG ulKey, PSZ pszValue);
     virtual BOOL wpScanSetupString(PSZ pszSetupString, PSZ pszKey, 
                                    PSZ pszValue, PULONG pcbValue);
     virtual void wpSetConcurrentView(ULONG ulCCView);
     virtual void wpSetButtonAppearance(ULONG ulButtonType);
     virtual BOOL wpSetDefaultHelp(ULONG HelpPanelId, PSZ HelpLibrary);
     virtual BOOL wpSetDefaultView(ULONG ulView);
     virtual BOOL wpSetError(ULONG ulErrorId);
     virtual BOOL wpSetIconHandle(HPOINTER hptrNewIcon);
     virtual USHORT wpQueryScreenGroupID(USHORT usPrevSgId);
     virtual BOOL wpSetupOnce(PSZ pszSetupString);
     virtual BOOL wpSetIcon(HPOINTER hptrNewIcon);
     virtual BOOL wpSetIconData(PICONINFO pIconInfo);
     virtual void wpSetMinWindow(ULONG ulMinWindow);
     virtual BOOL wpSetStyle(ULONG ulNewStyle);
     virtual BOOL wpModifyStyle(ULONG ulStyleFlags, ULONG ulStyleMask);
     virtual BOOL wpSetTitle(PSZ pszNewTitle);
     virtual BOOL wpSetup(PSZ pszSetupString);
     virtual BOOL wpSwitchTo(ULONG View);
     virtual void wpUnInitData();
     virtual HWND wpViewObject(HWND hwndCnr, ULONG ulView, ULONG param);
     virtual ULONG wpQueryTrueStyle();
     virtual HOBJECT wpQueryHandle();
     virtual BOOL wpUnlockObject();
     virtual void wpObjectReady(ULONG ulCode, WPObject* refObject);
     virtual BOOL wpIsObjectInitialized();
     virtual WPObject* wpCreateShadowObjectExt(WPFolder* Folder, 
                                               BOOL fLock, PSZ pszSetup, 
                                               M_WPObject* shadowClass);
     virtual BOOL wpCnrDeleteUseItem(HWND hwndCnr);
     virtual BOOL wpIsDeleteable();
     virtual PMINIRECORDCORE wpQueryCoreRecord();
     virtual BOOL wpSetObjectID(PSZ pszObjectID);
     virtual PSZ wpQueryObjectID();
     virtual BOOL wpSetDefaultIconPos(PPOINTL pPointl);
     virtual BOOL wpQueryDefaultIconPos(PPOINTL pPointl);
     virtual void wpCnrRefreshDetails();
     virtual PVIEWITEM wpFindViewItem(ULONG flViews, PVIEWITEM pCurrentItem);
     virtual void wpLockObject();
     virtual BOOL wpIsLocked();
     virtual PULONG wpQueryContainerFlagPtr();
     virtual ULONG wpWaitForClose(LHANDLE lhView, ULONG ulViews, 
                                  long lTimeOut, BOOL bAutoClose);
     WPObject();  
     virtual ~WPObject();  
     #pragma SOMReleaseOrder ( \
			      "wpSetTitle", \
			      "wpQueryTitle", \
			      "wpSetStyle", \
			      "wpQueryStyle", \
			      "wpSetIcon", \
			      "wpQueryIcon", \
			      "wpSetFolder", \
			      "wpQueryFolder", \
			      *, \
			      *, \
			      "wpSetDefaultView", \
			      "wpQueryDefaultView", \
			      *, \
			      "wpSaveState", \
			      *, \
			      *, \
			      "wpSaveLong", \
			      "wpSaveString", \
			      "wpSaveData", \
			      *, \
			      "wpRestoreState", \
			      *, \
			      *, \
			      "wpRestoreLong", \
			      "wpRestoreString", \
			      "wpRestoreData", \
			      *, \
			      "wpAllocMem", \
			      "wpFreeMem", \
			      "wpAddToObjUseList", \
			      "wpDeleteFromObjUseList", \
			      "wpFindUseItem", \
			      "wpSwitchTo", \
			      *, \
			      "wpFilterPopupMenu", \
			      "wpModifyPopupMenu", \
			      "wpMenuItemSelected", \
			      "wpFormatDragItem", \
			      "wpDrop", \
			      "wpDragOver", \
			      "wpRender", \
			      "wpEndConversation", \
			      *, \
			      *, \
			      *, \
			      "wpFree", \
			      "wpCopiedFromTemplate", \
			      "wpAddSettingsPages", \
			      "wpAddObjectGeneralPage", \
			      "wpDisplayHelp", \
			      "wpMenuItemHelpSelected", \
			      "wpInsertSettingsPage", \
			      "wpInsertPopupMenuItems", \
			      *, \
			      *, \
			      *, \
			      *, \
			      "wpCnrInsertObject", \
			      "wpCnrRemoveObject", \
			      "wpInitData", \
			      "wpUnInitData", \
			      "wpSetup", \
			      "wpScanSetupString", \
			      "wpSaveImmediate", \
			      "wpOpen", \
			      "wpClose", \
			      "wpHide", \
			      "wpRestore", \
			      "wpSetIconData", \
			      "wpQueryIconData", \
			      *, \
			      "wpDelete", \
			      "wpConfirmDelete", \
			      *, \
			      *, \
			      *, \
			      "wpRegisterView", \
			      *, \
			      "wpSetDefaultHelp", \
			      "wpQueryDefaultHelp", \
			      "wpDoesObjectMatch", \
			      "wpCnrRefreshDetails", \
			      "wpSetError", \
			      "wpQueryError", \
			      "wpDraggedOverObject", \
			      "wpDroppedOnObject", \
			      "wpSetDefaultIconPos", \
			      "wpQueryDefaultIconPos", \
			      *, \
			      *, \
			      "wpSetObjectID", \
			      "wpQueryObjectID", \
			      "wpIsDeleteable", \
			      "wpQueryHandle", \
			      "wpSaveDeferred", \
			      "wpAddObjectWindowPage", \
			      "wpQueryConcurrentView", \
			      "wpSetConcurrentView", \
			      "wpQueryMinWindow", \
			      "wpSetMinWindow", \
			      "wpViewObject", \
			      "wpQueryButtonAppearance", \
			      "wpSetButtonAppearance", \
			      "wpQueryConfirmations", \
			      "wpCnrSetEmphasis", \
			      "wpQueryCoreRecord", \
			      "wpFindViewItem", \
			      "wpCreateFromTemplate", \
			      "wpQueryTrueStyle", \
			      "wpAssertObjectMutexSem", \
			      "wpReleaseObjectMutexSem", \
			      "wpRequestObjectMutexSem", \
			      "wpCreateAnother", \
			      "wpCreateShadowObject", \
			      "wpCopyObject", \
			      "wpMoveObject", \
			      "wpLockObject", \
			      "wpUnlockObject", \
			      "wpIsLocked", \
			      "wpRenderComplete", \
			      "wpQueryDetailsData", \
			      "wpPrintObject", \
			      *, \
			      "wpSetTaskRec", \
			      *, \
			      "wpModifyStyle", \
			      *, \
			      "wpFindTaskRec", \
			      "wpAppendObject", \
			      "wpReplaceObject", \
			      "wpQueryNameClashOptions", \
			      "wpConfirmObjectTitle", \
			      *, \
			      "wpQueryContainerFlagPtr", \
			      *, \
			      *, \
			      *, \
			      "wpCnrDeleteUseItem", \
			      "wpObjectReady", \
			      "wpIsObjectInitialized", \
			      "wpCreateShadowObjectExt", \
			      "wpSetIconHandle", \
			      *, \
			      *, \
			      "wpDisplayMenu", \
			      "wpWaitForClose", \
			      "wpQueryScreenGroupID", \
			      "wpSetupOnce", \
			      "wpAddObjectGeneralPage2", \
			      *, \
			      *)
};
#pragma SOMAsDefault(pop)

     #pragma SOMNonDTS(pop)
/* End WPObject */




/* Start Class M_WPObject */

#include <somcls.hh>
#pragma SOMNonDTS(on)

#pragma SOMAsDefault(on)


/************ From WPObject.h ************/



/*
 * External name shortening if required
 */
#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
#define M_WPObjectNewClass wpobjc
//#pragma linkage(wpobjc, system)
#define M_WPObjectClassData wpobjd
#define M_WPObjectCClassData wpobjx
#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */

/*--------------Migration------------*/
#define M_WPObject_classObj M_WPObjectClassData.classObject
#define _M_WPObject M_WPObject_classObj


/*
 * Declare the class data structure
 */
SOMEXTERN struct M_WPObjectClassDataStructure {
	SOMClass *classObject;
	somMToken wpclsInitData;
	somMToken wpclsUnInitData;
	somMToken withdrawn8;
	somMToken wpclsMakeAwake;
	somMToken wpclsIncUsage;
	somMToken wpclsDecUsage;
	somMToken wpclsQueryTitle;
	somMToken wpclsQueryIcon;
	somMToken wpclsQueryDefaultHelp;
	somMToken wpclsQueryStyle;
	somMToken wpclsQueryDetailsInfo;
	somMToken wpclsQueryDefaultView;
	somMToken wpclsQueryDetails;
	somMToken wpclsQuerySearchInfo;
	somMToken wpclsQueryExtendedCriteria;
	somMToken wpclsCreateDefaultTemplates;
	somMToken withdrawn9;
	somMToken wpclsFindObjectFirst;
	somMToken wpclsFindObjectNext;
	somMToken wpclsFindObjectEnd;
	somMToken wpclsFindObjects;
	somMToken wpclsSetError;
	somMToken wpclsQueryError;
	somMToken wpclsQuerySettingsPageSize;
	somMToken wpclsSetSettingsPageSize;
	somMToken wpclsQueryIconData;
	somMToken wpclsSetIcon;
	somMToken wpclsSetIconData;
	somMToken wpclsQueryObject;
	somMToken wpclsObjectFromHandle;
	somMToken wpclsSaveDirtyObjects;
	somMToken wpclsLockDirtyList;
	somMToken wpclsUnlockDirtyList;
	somMToken wpclsLockRestartList;
	somMToken wpclsUnlockRestartList;
	somMToken wpclsQueryButtonAppearance;
	somMToken wpclsNew;
	somMToken wpclsQueryFolder;
	somMToken wpclsLockSleepyList;
	somMToken wpclsUnlockSleepyList;
	somMToken wpclsRemoveObjects;
	somMToken wpclsInsertMultipleObjects;
	somMToken wpclsINew;
	somMToken wpclsFindOneObject;
	somMToken wpclsQueryMaxAnimationIcons;

}  SOMDLINK  M_WPObjectClassData;

/*
 * Declare the C specific class data structure
 */
SOMEXTERN struct M_WPObjectCClassDataStructure {
	somMethodTabs parentMtab;
	somDToken instanceDataToken;
} SOMDLINK M_WPObjectCClassData;




/*
 * New and Renew macros for M_WPObject
 */
#define M_WPObjectNew() \
   (_somNew(_M_WPObject ? _M_WPObject : M_WPObjectNewClass(M_WPObject_MajorVersion, M_WPObject_MinorVersion)))
#define M_WPObjectRenew(buf) \
   (_somRenew(_M_WPObject ? _M_WPObject : M_WPObjectNewClass(M_WPObject_MajorVersion, M_WPObject_MinorVersion), buf))

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

/*
 * Override method: somClassReady
 */
#define M_WPObject_somClassReady(somSelf) \
	SOMClass_somClassReady(somSelf)

/*
 * Override method: somNew
 */
#define M_WPObject_somNew(somSelf) \
	SOMClass_somNew(somSelf)

/*
 * Override method: somRenew
 */
#define M_WPObject_somRenew(somSelf,obj) \
	SOMClass_somRenew(somSelf,obj)



/*
 * New Method: wpclsObjectFromHandle
 */
typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsObjectFromHandle(M_WPObject *somSelf,
		HOBJECT hObject);
//#pragma linkage(somTP_M_WPObject_wpclsObjectFromHandle, system)
typedef somTP_M_WPObject_wpclsObjectFromHandle *somTD_M_WPObject_wpclsObjectFromHandle;
#define somMD_M_WPObject_wpclsObjectFromHandle "::M_WPObject::wpclsObjectFromHandle"
#define M_WPObject_wpclsObjectFromHandle(somSelf,hObject) \
    (SOM_Resolve(somSelf, M_WPObject, wpclsObjectFromHandle) \
	(somSelf,hObject))
#ifndef SOMGD_wpclsObjectFromHandle
    #if (defined(_wpclsObjectFromHandle) || defined(__wpclsObjectFromHandle))
        #undef _wpclsObjectFromHandle
        #undef __wpclsObjectFromHandle
        #define SOMGD_wpclsObjectFromHandle 1
    #else
        #define _wpclsObjectFromHandle M_WPObject_wpclsObjectFromHandle
    #endif /* _wpclsObjectFromHandle */
#endif /* SOMGD_wpclsObjectFromHandle */


/*
 * New Method: wpclsNew
 */
typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsNew(M_WPObject *somSelf,
		PSZ pszTitle,
		PSZ pszSetupEnv,
		WPFolder* Folder,
		BOOL fLock);
//#pragma linkage(somTP_M_WPObject_wpclsNew, system)
typedef somTP_M_WPObject_wpclsNew *somTD_M_WPObject_wpclsNew;
#define somMD_M_WPObject_wpclsNew "::M_WPObject::wpclsNew"
#define M_WPObject_wpclsNew(somSelf,pszTitle,pszSetupEnv,Folder,fLock) \
    (SOM_Resolve(somSelf, M_WPObject, wpclsNew) \
	(somSelf,pszTitle,pszSetupEnv,Folder,fLock))
#ifndef SOMGD_wpclsNew
    #if (defined(_wpclsNew) || defined(__wpclsNew))
        #undef _wpclsNew
        #undef __wpclsNew
        #define SOMGD_wpclsNew 1
    #else
        #define _wpclsNew M_WPObject_wpclsNew
    #endif /* _wpclsNew */
#endif /* SOMGD_wpclsNew */


/*
 * New Method: wpclsInitData
 */
typedef void   SOMLINK somTP_M_WPObject_wpclsInitData(M_WPObject *somSelf);
//#pragma linkage(somTP_M_WPObject_wpclsInitData, system)
typedef somTP_M_WPObject_wpclsInitData *somTD_M_WPObject_wpclsInitData;
#define somMD_M_WPObject_wpclsInitData "::M_WPObject::wpclsInitData"
#define M_WPObject_wpclsInitData(somSelf) \
    (SOM_Resolve(somSelf, M_WPObject, wpclsInitData) \
	(somSelf))
#ifndef SOMGD_wpclsInitData
    #if (defined(_wpclsInitData) || defined(__wpclsInitData))
        #undef _wpclsInitData
        #undef __wpclsInitData
        #define SOMGD_wpclsInitData 1
    #else
        #define _wpclsInitData M_WPObject_wpclsInitData
    #endif /* _wpclsInitData */
#endif /* SOMGD_wpclsInitData */

/*
 * New Method: wpclsQueryStyle
 */
typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryStyle(M_WPObject *somSelf);
//#pragma linkage(somTP_M_WPObject_wpclsQueryStyle, system)
typedef somTP_M_WPObject_wpclsQueryStyle *somTD_M_WPObject_wpclsQueryStyle;
#define somMD_M_WPObject_wpclsQueryStyle "::M_WPObject::wpclsQueryStyle"
#define M_WPObject_wpclsQueryStyle(somSelf) \
    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryStyle) \
	(somSelf))
#ifndef SOMGD_wpclsQueryStyle
    #if (defined(_wpclsQueryStyle) || defined(__wpclsQueryStyle))
        #undef _wpclsQueryStyle
        #undef __wpclsQueryStyle
        #define SOMGD_wpclsQueryStyle 1
    #else
        #define _wpclsQueryStyle M_WPObject_wpclsQueryStyle
    #endif /* _wpclsQueryStyle */
#endif /* SOMGD_wpclsQueryStyle */

/*
 * New Method: wpclsQueryObject
 */
typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsQueryObject(M_WPObject *somSelf, 
		HOBJECT hObject);
//#pragma linkage(somTP_M_WPObject_wpclsQueryObject, system)
typedef somTP_M_WPObject_wpclsQueryObject *somTD_M_WPObject_wpclsQueryObject;
#define somMD_M_WPObject_wpclsQueryObject "::M_WPObject::wpclsQueryObject"
#define M_WPObject_wpclsQueryObject(somSelf,hObject) \
    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryObject) \
	(somSelf,hObject))
#ifndef SOMGD_wpclsQueryObject
    #if (defined(_wpclsQueryObject) || defined(__wpclsQueryObject))
        #undef _wpclsQueryObject
        #undef __wpclsQueryObject
        #define SOMGD_wpclsQueryObject 1
    #else
        #define _wpclsQueryObject M_WPObject_wpclsQueryObject
    #endif /* _wpclsQueryObject */
#endif /* SOMGD_wpclsQueryObject */






class M_WPObject : public SOMClass {

	#pragma SOMClassName(*, "M_WPObject")
	#pragma SOMNoMangling(*)
	#pragma SOMNonDTS(*)

     #pragma SOMClassVersion (M_WPObject, 1, 2)
     #pragma SOMCallstyle (oidl)
     #pragma SOMAsDefault(off)
     #pragma SOMAsDefault(pop)
  public :
     virtual BOOL wpclsCreateDefaultTemplates(WPObject* Folder);
     virtual void wpclsInitData();
     virtual WPObject* wpclsMakeAwake(PSZ pszTitle, ULONG ulStyle, 
                                      HPOINTER hptrIcon, POBJDATA pObjData, 
                                      WPFolder* Folder, ULONG ulUser);
     virtual WPObject* wpclsNew(PSZ pszTitle, PSZ pszSetupEnv, 
                                WPFolder* Folder, BOOL fLock);
     virtual BOOL wpclsQueryDefaultHelp(PULONG pHelpPanelId, 
                                        PSZ pszHelpLibrary);
     virtual ULONG wpclsQueryDefaultView();
     virtual PCLASSDETAILS wpclsQueryDetails();
     virtual ULONG wpclsQueryDetailsInfo(PCLASSFIELDINFO* ppClassFieldInfo, 
                                         PULONG pSize);
     virtual BOOL wpclsQueryExtendedCriteria(PSZ pszName, ULONG ulSearchType, 
                                             PVOID pvoidExtendedCriteria);
     virtual WPObject* wpclsQueryFolder(PSZ pszLocation, BOOL fLock);
     virtual HPOINTER wpclsQueryIcon();
     virtual void wpclsQuerySearchInfo(M_WPObject** ClassExtended, 
                                       M_WPObject** ClassCreate, 
                                       PULONG pulClassCriteriaSize);
     virtual ULONG wpclsQueryStyle();
     virtual PSZ wpclsQueryTitle();
     virtual void wpclsUnInitData();
     virtual BOOL wpclsFindObjectFirst(PCLASS pClassList, PHFIND phFind, 
                                       PSZ pszTitle, WPFolder* Folder, 
                                       BOOL fSubfolders, PVOID pExtendedCriteria, 
                                       POBJECT pBuffer, PULONG pCount);
     virtual BOOL wpclsFindObjectNext(HFIND hFind, POBJECT pBuffer, 
                                      PULONG pCount);
     virtual BOOL wpclsFindObjectEnd(HFIND hFind);
     virtual BOOL wpclsSetError(ULONG ulErrorId);
     virtual ULONG wpclsQueryError();
     virtual BOOL wpclsQuerySettingsPageSize(PSIZEL pSizl);
     virtual ULONG wpclsQueryIconData(PICONINFO pIconInfo);
     virtual WPObject* wpclsQueryObject(HOBJECT hObject);
     virtual ULONG wpclsQueryButtonAppearance();
     virtual void wpclsDecUsage();
     virtual void wpclsIncUsage();
     virtual BOOL wpclsInsertMultipleObjects(HWND hwndCnr, PPOINTL pptlIcon, 
                                             PVOID* pObjectArray, 
                                             PVOID pRecordParent, 
                                             ULONG NumRecords);
     virtual WPObject* wpclsFindOneObject(HWND hwndOwner, PSZ pszFindParams);
     virtual BOOL wpclsSetSettingsPageSize(PSIZEL pSizl);
     virtual BOOL wpclsSetIconData(PICONINFO pIconInfo);
     virtual BOOL wpclsSetIcon(HPOINTER hptrNewIcon);
     virtual WPObject* wpclsObjectFromHandle(HOBJECT hObject);
     virtual BOOL wpclsRemoveObjects(HWND hwndCnr, PVOID* pRecordArray, 
                                     ULONG NumRecords, BOOL RemoveAll);
     virtual ~M_WPObject();  
     virtual void somClassReady();
     virtual SOMObject* somNew();
     virtual SOMObject* somRenew(void* obj);
     #pragma SOMReleaseOrder ( \
			      "wpclsInitData", \
			      "wpclsUnInitData", \
			      *, \
			      "wpclsMakeAwake", \
			      "wpclsIncUsage", \
			      "wpclsDecUsage", \
			      "wpclsQueryTitle", \
			      "wpclsQueryIcon", \
			      "wpclsQueryDefaultHelp", \
			      "wpclsQueryStyle", \
			      "wpclsQueryDetailsInfo", \
			      "wpclsQueryDefaultView", \
			      "wpclsQueryDetails", \
			      "wpclsQuerySearchInfo", \
			      "wpclsQueryExtendedCriteria", \
			      "wpclsCreateDefaultTemplates", \
			      *, \
			      "wpclsFindObjectFirst", \
			      "wpclsFindObjectNext", \
			      "wpclsFindObjectEnd", \
			      *, \
			      "wpclsSetError", \
			      "wpclsQueryError", \
			      "wpclsQuerySettingsPageSize", \
			      "wpclsSetSettingsPageSize", \
			      "wpclsQueryIconData", \
			      "wpclsSetIcon", \
			      "wpclsSetIconData", \
			      "wpclsQueryObject", \
			      "wpclsObjectFromHandle", \
			      *, \
			      *, \
			      *, \
			      *, \
			      *, \
			      "wpclsQueryButtonAppearance", \
			      "wpclsNew", \
			      "wpclsQueryFolder", \
			      *, \
			      *, \
			      "wpclsRemoveObjects", \
			      "wpclsInsertMultipleObjects", \
			      *, \
			      "wpclsFindOneObject", \
			      *)
};
     #pragma SOMMetaClass (WPObject, "M_WPObject")

#pragma SOMAsDefault(pop)

     #pragma SOMNonDTS(pop)
/* End M_WPObject */
#endif /* _DTS_HH_INCLUDED_wpobject */
