
/*
 * This file was generated by the SOM Compiler.
 * FileName: wpobject.xh.
 * Generated using:
 *     SOM Precompiler spc: 1.22
 *     SOM Emitter emitxh: 1.11
 */

/*
 * 
 *  Module Header
 * 
 *  Module Name: WPOBJECT
 * 
 *  OS/2 Presentation Manager Workplace class definitions
 * 
 *  Copyright (c) International Business Machines Corporation 1991, 1992
 * 
 */

#ifndef wpobject_xh
#define wpobject_xh
class WPObject;

#define WPObject_MajorVersion 1
#define WPObject_MinorVersion 2


/*
 * Passthru lines: File: "C.xh", "before"
 */

   #define INCL_WINSTDCNR
   #include <pmstddlg.h>

     class M_WPObject;
     class WPObject;

      /* Object style flags (see wpSetStyle) */

      #define OBJSTYLE_NOMOVE          2
      #define OBJSTYLE_NOLINK          4
      #define OBJSTYLE_NOCOPY          8
      #define OBJSTYLE_NOTDEFAULTICON 16
      #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

      /*  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

      /*  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



      /* 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


      /*  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

      /*  Definitions for the INUSE list that is kept
       *  for every object via wpAddToObjUseList and
       *  wpRemoveFromObjUseList methods...
       */

      /* 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 is being deleted */
      #define VIEWSTATE_USERHIDDEN    0x0004   /* The view was hidden by user */
      #define VIEWSTATE_POPULATING    0x0008   /* The view is populating      */

      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;

      typedef struct _LINKITEM         /* USAGE_LINK struct */
      {
         WPObject    *LinkObj;         /* The link object */
      } LINKITEM;
      typedef LINKITEM *PLINKITEM;

      typedef struct _VIEWFILE         /* USAGE_OPENFILE struct */
      {
         ULONG        ulMenuId;        /* Menu id if association or menu page */
         LHANDLE      handle;          /* Open handle */
         HWND         hwndCnr;         /* System use only (window animation) */
         PMINIRECORDCORE pRecord;      /* System use only (window animation) */
      } VIEWFILE;
      typedef VIEWFILE *PVIEWFILE;

      /* 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;

      /*  Persistant storage structures (see wpSaveShort
       *  and wpRestoreShort etc...)
       */


      /* 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;

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

      /* Macro to access the app defineable dword within the RECORDITEM
       * structure that is created when an object is put into a list
       * control using the wpCnrInsertObject method.
       */
      PULONG EXPENTRY ShlGetUserWordPtr(
         HWND            hwndCnr,
         PMINIRECORDCORE prec );

      #define USERWORD_FROM_PREC( hwnd, prec )              \
         ( (ULONG)( *ShlGetUserWordPtr(hwnd,prec) ) )

      /* 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;

      #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

      /* 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;

      /* Details comparison criteria structure
       */
      typedef struct _CRITERIA
      {
         PVOID            pReserved;           /* Reserved - MUST be null!!!! */
         struct _CRITERIA *pNext;
         struct _CRITERIA *pPrev;
         ULONG            ClassFieldInfoIndex; /* Index of the details field  */
         ULONG            LogicalOperator;     /* CRITERIA_AND or CRITERIA_OR */
         ULONG            ComparisonType;      /* CMP_LESS_OR_EQUAL etc...    */
         ULONG            ulLenCompareValue;   /* sizeof(ComparisonData)      */
         CHAR             CompareValue[1];     /* Value to be compared with   */
      } CRITERIA;
      typedef CRITERIA *PCRITERIA;

      #define CRITERIA_AND        0
      #define CRITERIA_OR         1

      /* ClassCriteria structure: points to a linked list of CRITERIA
       * for the given class. ClassCriteria may be linked into a list
       * too - and passed to a filter object, or the wpclsFindObjectFirst
       * method call...
       */
      typedef struct _CLASSCRITERIA                                     /*!INC*/
      {
         struct _CLASSCRITERIA *pNext;
         struct _CLASSCRITERIA *pPrev;
         M_WPObject            *Class;          /* Class object */
         PCRITERIA              pCriteria;      /* Linked list of criteria */
         WPObject              *NotifyObject;   /* Owner of the criteria list */
      } CLASSCRITERIA;
      typedef CLASSCRITERIA *PCLASSCRITERIA;

      /* This structure is passed to a details criteria edit window
       * when it is created, so that it knows the current value and
       * min/max values for the criteria to be edited.
       *
       * As the user modifies the compare value using the criteria
       * edit window, it should update the buffer pointed to by
       * 'pCompareValue'.
       */
      typedef struct _EDITCTLINIT                                       /*!INC*/
      {
         ULONG cb;                /* must have length in control data! MindyP */
         PVOID pCompareValue;     /* Buffer containing the current value */
         ULONG ulLenCompareValue; /* Length of pCompareValue buffer */
         PVOID pMinCompareValue;  /* READ-ONLY parameter, NULL => default */
         PVOID pMaxCompareValue;  /* READ-ONLY parameter, NULL => default */
      } EDITCTLINIT;
      typedef EDITCTLINIT *PEDITCTLINIT;

      /* 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.           */
      } CLASSFIELDINFO;

      typedef CLASSFIELDINFO *PCLASSFIELDINFO;

      #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 OK_DELETE             1
      #define NO_DELETE             2
      #define CANCEL_DELETE         3

      #define NUM_OBJDETAILS_FIELDS    2     /* 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;

      /* wpDrop method return code  */

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

      /*handle for files being tracked by the shell */

      typedef LHANDLE HFS;
      #define MAXSZHFS 10       /* size of the translated string */

    #define SETTINGS_PAGE_REMOVED  -1

    /* wpSetConcurrentView values */
      #define CCVIEW_DEFAULT 0
      #define CCVIEW_ON      1
      #define CCVIEW_OFF     2

    /* wpSetMinWindow values */
      #define MINWIN_DEFAULT 0
      #define MINWIN_HIDDEN  1
      #define MINWIN_VIEWER  2
      #define MINWIN_DESKTOP 3

    /* wpSetButtonAppearance values */
      #define HIDEBUTTON      1
      #define MINBUTTON      2
      #define DEFAULTBUTTON  3

      #define  HIDDENMINWINDOW_DEFAULT MINWIN_VIEWER
     #ifndef wpfolder_xh
          #define WPFolder WPObject
     #endif

      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;

/* C++ som defs */
#include <somcls.xh>

/* C++ parent def */
#ifndef somobj_xh
#include <somobj.xh>
#endif

#ifndef WPObject_API
#define WPObject_API
/*
 * The Class API
 */

/* A procedure to create the WPObject Class */
SOMEXTERN SOMClass * SOMLINK WPObjectNewClass(
		integer4 majorVersion,
		integer4 minorVersion);

/* A macro to return the WPObject class object */
class M_WPObject;
#define _WPObject ((M_WPObject*)WPObjectClassData.classObject)

/* The static interface to WPObject and its instances */
SOMEXTERN struct WPObjectClassDataStructure {
	SOMClass *classObject;
	somMToken wpSetTitle;
	somMToken wpQueryTitle;
	somMToken wpSetStyle;
	somMToken wpQueryStyle;
	somMToken wpSetIcon;
	somMToken wpQueryIcon;
	somMToken wpSetContainer;
	somMToken wpQueryContainer;
	somMToken wpSetNextObj;
	somMToken wpQueryNextObj;
	somMToken wpSetDefaultView;
	somMToken wpQueryDefaultView;
	somMToken wpMakeDormant;
	somMToken wpSaveState;
	somMToken wpBeginSave;
	somMToken wpEndSave;
	somMToken wpSaveLong;
	somMToken wpSaveString;
	somMToken wpSaveData;
	somMToken wpAppendSaveData;
	somMToken wpRestoreState;
	somMToken wpBeginRestore;
	somMToken wpEndRestore;
	somMToken wpRestoreLong;
	somMToken wpRestoreString;
	somMToken wpRestoreData;
	somMToken wpExtractRestoreData;
	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 wpMakeObject;
	somMToken wpDestroyObject;
	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 wpQueryIconSaved;
	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 wpSetState;
	somMToken wpQueryState;
	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 wpQueryTaskRec;
	somMToken wpSetTaskRec;
	somMToken wpSnoozeNotify;
	somMToken wpModifyStyle;
	somMToken wpSetInsertState;
	somMToken wpFindTaskRec;
	somMToken wpAppendObject;
	somMToken wpReplaceObject;
	somMToken wpQueryNameClashOptions;
	somMToken wpConfirmObjectTitle;
	somDToken pobjNext;
	somMToken wpQueryContainerFlagPtr;
	somMToken wpAddWindowPosKey;
	somMToken wpDeleteWindowPosKeys;
	somMToken wpObjectInsertPreparation;
	somMToken wpCnrDeleteUseItem;
} WPObjectClassData;

/*
 * -- Typedefs for Procedures that support WPObject Methods
 */
extern "C" {
typedef ULONG    (SOMLINK *somTD_WPObject_wpAddObjectGeneralPage)(WPObject *somSelf,HWND hwndNotebook);
typedef ULONG    (SOMLINK *somTD_WPObject_wpAddObjectWindowPage)(WPObject *somSelf,HWND hwndNotebook);
typedef BOOL    (SOMLINK *somTD_WPObject_wpAddSettingsPages)(WPObject *somSelf,HWND hwndNotebook);
typedef BOOL    (SOMLINK *somTD_WPObject_wpAddToObjUseList)(WPObject *somSelf,PUSEITEM pUseItem);
typedef PBYTE    (SOMLINK *somTD_WPObject_wpAllocMem)(WPObject *somSelf,ULONG cbBytes,PULONG prc);
typedef BOOL32    (SOMLINK *somTD_WPObject_wpAppendObject)(WPObject *somSelf,WPObject *targetObject,BOOL32 fMove);
typedef BOOL    (SOMLINK *somTD_WPObject_wpAssertObjectMutexSem)(WPObject *somSelf);
typedef BOOL    (SOMLINK *somTD_WPObject_wpClose)(WPObject *somSelf);
typedef PMINIRECORDCORE    (SOMLINK *somTD_WPObject_wpCnrInsertObject)(WPObject *somSelf,HWND hwndCnr,PPOINTL pptlIcon,PMINIRECORDCORE preccParent,PRECORDINSERT pRecInsert);
typedef BOOL    (SOMLINK *somTD_WPObject_wpCnrRemoveObject)(WPObject *somSelf,HWND hwndCnr);
typedef BOOL    (SOMLINK *somTD_WPObject_wpCnrSetEmphasis)(WPObject *somSelf,ULONG ulEmphasisAttr,BOOL fTurnOn);
typedef ULONG    (SOMLINK *somTD_WPObject_wpConfirmDelete)(WPObject *somSelf,ULONG fConfirmations);
typedef ULONG    (SOMLINK *somTD_WPObject_wpConfirmObjectTitle)(WPObject *somSelf,WPFolder *Folder,WPObject **ppDuplicate,PSZ pszTitle,ULONG cbTitle,ULONG menuID);
typedef void    (SOMLINK *somTD_WPObject_wpCopiedFromTemplate)(WPObject *somSelf);
typedef WPObject *   (SOMLINK *somTD_WPObject_wpCopyObject)(WPObject *somSelf,WPFolder *Folder,BOOL fLock);
typedef WPObject *   (SOMLINK *somTD_WPObject_wpCreateAnother)(WPObject *somSelf,PSZ pszTitle,PSZ pszSetupEnv,WPFolder *Folder);
typedef WPObject *   (SOMLINK *somTD_WPObject_wpCreateFromTemplate)(WPObject *somSelf,WPFolder *folder,BOOL fLock);
typedef WPObject *   (SOMLINK *somTD_WPObject_wpCreateShadowObject)(WPObject *somSelf,WPFolder *Folder,BOOL fLock);
typedef ULONG    (SOMLINK *somTD_WPObject_wpDelete)(WPObject *somSelf,ULONG fConfirmations);
typedef BOOL    (SOMLINK *somTD_WPObject_wpDeleteFromObjUseList)(WPObject *somSelf,PUSEITEM pUseItem);
typedef BOOL    (SOMLINK *somTD_WPObject_wpDisplayHelp)(WPObject *somSelf,ULONG HelpPanelId,PSZ HelpLibrary);
typedef BOOL    (SOMLINK *somTD_WPObject_wpDoesObjectMatch)(WPObject *somSelf,PVOID pvoidExtendedCriteria);
typedef MRESULT    (SOMLINK *somTD_WPObject_wpDraggedOverObject)(WPObject *somSelf,WPObject *DraggedOverObject);
typedef MRESULT    (SOMLINK *somTD_WPObject_wpDragOver)(WPObject *somSelf,HWND hwndCnr,PDRAGINFO pdrgInfo);
typedef MRESULT    (SOMLINK *somTD_WPObject_wpDrop)(WPObject *somSelf,HWND hwndCnr,PDRAGINFO pdrgInfo,PDRAGITEM pdrgItem);
typedef BOOL    (SOMLINK *somTD_WPObject_wpDroppedOnObject)(WPObject *somSelf,WPObject *DroppedOnObject);
typedef MRESULT    (SOMLINK *somTD_WPObject_wpEndConversation)(WPObject *somSelf,ULONG ulItemID,ULONG flResult);
typedef ULONG    (SOMLINK *somTD_WPObject_wpFilterPopupMenu)(WPObject *somSelf,ULONG ulFlags,HWND hwndCnr,BOOL fMultiSelect);
typedef PUSEITEM    (SOMLINK *somTD_WPObject_wpFindUseItem)(WPObject *somSelf,ULONG type,PUSEITEM pCurrentItem);
typedef BOOL    (SOMLINK *somTD_WPObject_wpFormatDragItem)(WPObject *somSelf,PDRAGITEM pdrgItem);
typedef BOOL    (SOMLINK *somTD_WPObject_wpFree)(WPObject *somSelf);
typedef BOOL    (SOMLINK *somTD_WPObject_wpFreeMem)(WPObject *somSelf,PBYTE pByte);
typedef BOOL    (SOMLINK *somTD_WPObject_wpHide)(WPObject *somSelf);
typedef void    (SOMLINK *somTD_WPObject_wpInitData)(WPObject *somSelf);
typedef BOOL    (SOMLINK *somTD_WPObject_wpInsertPopupMenuItems)(WPObject *somSelf,HWND hwndMenu,ULONG iPosition,HMODULE hmod,ULONG MenuID,ULONG SubMenuID);
typedef ULONG    (SOMLINK *somTD_WPObject_wpInsertSettingsPage)(WPObject *somSelf,HWND hwndNotebook,PPAGEINFO ppageinfo);
typedef BOOL    (SOMLINK *somTD_WPObject_wpMenuItemHelpSelected)(WPObject *somSelf,ULONG MenuId);
typedef BOOL    (SOMLINK *somTD_WPObject_wpMenuItemSelected)(WPObject *somSelf,HWND hwndFrame,ULONG ulMenuId);
typedef BOOL    (SOMLINK *somTD_WPObject_wpModifyPopupMenu)(WPObject *somSelf,HWND hwndMenu,HWND hwndCnr,ULONG iPosition);
typedef BOOL    (SOMLINK *somTD_WPObject_wpMoveObject)(WPObject *somSelf,WPFolder *Folder);
typedef HWND    (SOMLINK *somTD_WPObject_wpOpen)(WPObject *somSelf,HWND hwndCnr,ULONG ulView,ULONG param);
typedef BOOL    (SOMLINK *somTD_WPObject_wpPrintObject)(WPObject *somSelf,PPRINTDEST pPrintDest,ULONG ulReserved);
typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryConcurrentView)(WPObject *somSelf);
typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryButtonAppearance)(WPObject *somSelf);
typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryConfirmations)(WPObject *somSelf);
typedef BOOL    (SOMLINK *somTD_WPObject_wpQueryDefaultHelp)(WPObject *somSelf,PULONG pHelpPanelId,PSZ HelpLibrary);
typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryDefaultView)(WPObject *somSelf);
typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryDetailsData)(WPObject *somSelf,PVOID *ppDetailsData,PULONG pcp);
typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryError)(WPObject *somSelf);
typedef HPOINTER    (SOMLINK *somTD_WPObject_wpQueryIcon)(WPObject *somSelf);
typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryIconData)(WPObject *somSelf,PICONINFO pIconInfo);
typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryMinWindow)(WPObject *somSelf);
typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryNameClashOptions)(WPObject *somSelf,ULONG menuID);
typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryStyle)(WPObject *somSelf);
typedef BOOL32    (SOMLINK *somTD_WPObject_wpSetTaskRec)(WPObject *somSelf,PTASKREC pNew,PTASKREC pOld);
typedef PTASKREC    (SOMLINK *somTD_WPObject_wpFindTaskRec)(WPObject *somSelf);
typedef PSZ    (SOMLINK *somTD_WPObject_wpQueryTitle)(WPObject *somSelf);
typedef BOOL    (SOMLINK *somTD_WPObject_wpRegisterView)(WPObject *somSelf,HWND hwndFrame,PSZ pszViewTitle);
typedef ULONG    (SOMLINK *somTD_WPObject_wpReleaseObjectMutexSem)(WPObject *somSelf);
typedef MRESULT    (SOMLINK *somTD_WPObject_wpRender)(WPObject *somSelf,PDRAGTRANSFER pdxfer);
typedef MRESULT    (SOMLINK *somTD_WPObject_wpRenderComplete)(WPObject *somSelf,PDRAGTRANSFER pdxfer,ULONG ulResult);
typedef BOOL32    (SOMLINK *somTD_WPObject_wpReplaceObject)(WPObject *somSelf,WPObject *targetObject,BOOL32 fMove);
typedef ULONG    (SOMLINK *somTD_WPObject_wpRequestObjectMutexSem)(WPObject *somSelf,ULONG ulTimeout);
typedef BOOL    (SOMLINK *somTD_WPObject_wpRestore)(WPObject *somSelf);
typedef BOOL    (SOMLINK *somTD_WPObject_wpRestoreData)(WPObject *somSelf,PSZ pszClass,ULONG ulKey,PBYTE pValue,PULONG pcbValue);
typedef BOOL    (SOMLINK *somTD_WPObject_wpRestoreLong)(WPObject *somSelf,PSZ pszClass,ULONG ulKey,PULONG pulValue);
typedef BOOL    (SOMLINK *somTD_WPObject_wpRestoreState)(WPObject *somSelf,ULONG ulReserved);
typedef BOOL    (SOMLINK *somTD_WPObject_wpRestoreString)(WPObject *somSelf,PSZ pszClass,ULONG ulKey,PSZ pszValue,PULONG pcbValue);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSaveData)(WPObject *somSelf,PSZ pszClass,ULONG ulKey,PBYTE pValue,ULONG cbValue);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSaveImmediate)(WPObject *somSelf);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSaveDeferred)(WPObject *somSelf);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSaveLong)(WPObject *somSelf,PSZ pszClass,ULONG ulKey,ULONG ulValue);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSaveState)(WPObject *somSelf);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSaveString)(WPObject *somSelf,PSZ pszClass,ULONG ulKey,PSZ pszValue);
typedef BOOL    (SOMLINK *somTD_WPObject_wpScanSetupString)(WPObject *somSelf,PSZ pszSetupString,PSZ pszKey,PSZ pszValue,PULONG pcbValue);
typedef VOID    (SOMLINK *somTD_WPObject_wpSetConcurrentView)(WPObject *somSelf,ULONG ulCCView);
typedef VOID    (SOMLINK *somTD_WPObject_wpSetButtonAppearance)(WPObject *somSelf,ULONG ulButtonType);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSetDefaultHelp)(WPObject *somSelf,ULONG HelpPanelId,PSZ HelpLibrary);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSetDefaultView)(WPObject *somSelf,ULONG ulView);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSetError)(WPObject *somSelf,ULONG ulErrorId);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSetIcon)(WPObject *somSelf,HPOINTER hptrNewIcon);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSetIconData)(WPObject *somSelf,PICONINFO pIconInfo);
typedef VOID    (SOMLINK *somTD_WPObject_wpSetMinWindow)(WPObject *somSelf,ULONG ulMinWindow);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSetStyle)(WPObject *somSelf,ULONG ulNewStyle);
typedef BOOL    (SOMLINK *somTD_WPObject_wpModifyStyle)(WPObject *somSelf,ULONG ulStyleFlags,ULONG ulStyleMask);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSetTitle)(WPObject *somSelf,PSZ pszNewTitle);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSetup)(WPObject *somSelf,PSZ pszSetupString);
typedef BOOL    (SOMLINK *somTD_WPObject_wpSwitchTo)(WPObject *somSelf,ULONG View);
typedef void    (SOMLINK *somTD_WPObject_wpUnInitData)(WPObject *somSelf);
typedef HWND    (SOMLINK *somTD_WPObject_wpViewObject)(WPObject *somSelf,HWND hwndCnr,ULONG ulView,ULONG param);
typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryTrueStyle)(WPObject *somSelf);
typedef HOBJECT    (SOMLINK *somTD_WPObject_wpQueryHandle)(WPObject *somSelf);
typedef BOOL    (SOMLINK *somTD_WPObject_wpUnlockObject)(WPObject *somSelf);
}


#endif /* WPObject_API */


/*
 * -- The C++ Wrapper Class for WPObject
 */
class WPObject : public SOMObject
{
public:

void *operator new(size_t size)
{
   (void) size;
   if (!WPObjectClassData.classObject) 
      WPObjectNewClass(WPObject_MajorVersion,WPObject_MinorVersion);
   return (void *)
      ((somTD_SOMClass_somNew)
      somResolve(SOM_TestCls((SOMAny *)(WPObjectClassData.classObject),
                             SOMClassClassData.classObject),
                 SOMClassClassData.somNew))
         ((SOMClass*)(WPObjectClassData.classObject));
}

void operator delete(void * obj)
{
   ((SOMObject *)obj)->somFree();
}

/* public method: wpAddObjectGeneralPage */
ULONG    wpAddObjectGeneralPage(HWND hwndNotebook)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpAddObjectGeneralPage)
	(this,hwndNotebook);
}


/* public method: wpAddObjectWindowPage */
ULONG    wpAddObjectWindowPage(HWND hwndNotebook)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpAddObjectWindowPage)
	(this,hwndNotebook);
}


/* public method: wpAddSettingsPages */
BOOL    wpAddSettingsPages(HWND hwndNotebook)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpAddSettingsPages)
	(this,hwndNotebook);
}


/* public method: wpAddToObjUseList */
BOOL    wpAddToObjUseList(PUSEITEM pUseItem)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpAddToObjUseList)
	(this,pUseItem);
}


/* public method: wpAllocMem */
PBYTE    wpAllocMem(ULONG cbBytes,
		PULONG prc)
{
   return (PBYTE) SOM_Resolve((SOMAny *)this,WPObject,wpAllocMem)
	(this,cbBytes,prc);
}


/* public method: wpAppendObject */
BOOL32    wpAppendObject(WPObject *targetObject,
		BOOL32 fMove)
{
   return (BOOL32) SOM_Resolve((SOMAny *)this,WPObject,wpAppendObject)
	(this,targetObject,fMove);
}


/* public method: wpAssertObjectMutexSem */
BOOL    wpAssertObjectMutexSem()
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpAssertObjectMutexSem)
	(this);
}


/* public method: wpClose */
BOOL    wpClose()
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpClose)
	(this);
}


/* public method: wpCnrInsertObject */
PMINIRECORDCORE    wpCnrInsertObject(HWND hwndCnr,
		PPOINTL pptlIcon,
		PMINIRECORDCORE preccParent,
		PRECORDINSERT pRecInsert)
{
   return (PMINIRECORDCORE) SOM_Resolve((SOMAny *)this,WPObject,wpCnrInsertObject)
	(this,hwndCnr,pptlIcon,preccParent,pRecInsert);
}


/* public method: wpCnrRemoveObject */
BOOL    wpCnrRemoveObject(HWND hwndCnr)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpCnrRemoveObject)
	(this,hwndCnr);
}


/* public method: wpCnrSetEmphasis */
BOOL    wpCnrSetEmphasis(ULONG ulEmphasisAttr,
		BOOL fTurnOn)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpCnrSetEmphasis)
	(this,ulEmphasisAttr,fTurnOn);
}


/* public method: wpConfirmDelete */
ULONG    wpConfirmDelete(ULONG fConfirmations)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpConfirmDelete)
	(this,fConfirmations);
}


/* public method: wpConfirmObjectTitle */
ULONG    wpConfirmObjectTitle(WPFolder *Folder,
		WPObject **ppDuplicate,
		PSZ pszTitle,
		ULONG cbTitle,
		ULONG menuID)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpConfirmObjectTitle)
	(this,Folder,ppDuplicate,pszTitle,cbTitle,menuID);
}


/* public method: wpCopiedFromTemplate */
void    wpCopiedFromTemplate()
{
   SOM_Resolve((SOMAny *)this,WPObject,wpCopiedFromTemplate)
	(this);
}


/* public method: wpCopyObject */
WPObject *   wpCopyObject(WPFolder *Folder,
		BOOL fLock)
{
   return (WPObject*) SOM_Resolve((SOMAny *)this,WPObject,wpCopyObject)
	(this,Folder,fLock);
}


/* public method: wpCreateAnother */
WPObject *   wpCreateAnother(PSZ pszTitle,
		PSZ pszSetupEnv,
		WPFolder *Folder)
{
   return (WPObject*) SOM_Resolve((SOMAny *)this,WPObject,wpCreateAnother)
	(this,pszTitle,pszSetupEnv,Folder);
}


/* public method: wpCreateFromTemplate */
WPObject *   wpCreateFromTemplate(WPFolder *folder,
		BOOL fLock)
{
   return (WPObject*) SOM_Resolve((SOMAny *)this,WPObject,wpCreateFromTemplate)
	(this,folder,fLock);
}


/* public method: wpCreateShadowObject */
WPObject *   wpCreateShadowObject(WPFolder *Folder,
		BOOL fLock)
{
   return (WPObject*) SOM_Resolve((SOMAny *)this,WPObject,wpCreateShadowObject)
	(this,Folder,fLock);
}


/* public method: wpDelete */
ULONG    wpDelete(ULONG fConfirmations)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpDelete)
	(this,fConfirmations);
}


/* public method: wpDeleteFromObjUseList */
BOOL    wpDeleteFromObjUseList(PUSEITEM pUseItem)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpDeleteFromObjUseList)
	(this,pUseItem);
}


/* public method: wpDisplayHelp */
BOOL    wpDisplayHelp(ULONG HelpPanelId,
		PSZ HelpLibrary)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpDisplayHelp)
	(this,HelpPanelId,HelpLibrary);
}


/* public method: wpDoesObjectMatch */
BOOL    wpDoesObjectMatch(PVOID pvoidExtendedCriteria)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpDoesObjectMatch)
	(this,pvoidExtendedCriteria);
}


/* public method: wpDraggedOverObject */
MRESULT    wpDraggedOverObject(WPObject *DraggedOverObject)
{
   return (MRESULT) SOM_Resolve((SOMAny *)this,WPObject,wpDraggedOverObject)
	(this,DraggedOverObject);
}


/* public method: wpDragOver */
MRESULT    wpDragOver(HWND hwndCnr,
		PDRAGINFO pdrgInfo)
{
   return (MRESULT) SOM_Resolve((SOMAny *)this,WPObject,wpDragOver)
	(this,hwndCnr,pdrgInfo);
}


/* public method: wpDrop */
MRESULT    wpDrop(HWND hwndCnr,
		PDRAGINFO pdrgInfo,
		PDRAGITEM pdrgItem)
{
   return (MRESULT) SOM_Resolve((SOMAny *)this,WPObject,wpDrop)
	(this,hwndCnr,pdrgInfo,pdrgItem);
}


/* public method: wpDroppedOnObject */
BOOL    wpDroppedOnObject(WPObject *DroppedOnObject)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpDroppedOnObject)
	(this,DroppedOnObject);
}


/* public method: wpEndConversation */
MRESULT    wpEndConversation(ULONG ulItemID,
		ULONG flResult)
{
   return (MRESULT) SOM_Resolve((SOMAny *)this,WPObject,wpEndConversation)
	(this,ulItemID,flResult);
}


/* public method: wpFilterPopupMenu */
ULONG    wpFilterPopupMenu(ULONG ulFlags,
		HWND hwndCnr,
		BOOL fMultiSelect)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpFilterPopupMenu)
	(this,ulFlags,hwndCnr,fMultiSelect);
}


/* public method: wpFindUseItem */
PUSEITEM    wpFindUseItem(ULONG type,
		PUSEITEM pCurrentItem)
{
   return (PUSEITEM) SOM_Resolve((SOMAny *)this,WPObject,wpFindUseItem)
	(this,type,pCurrentItem);
}


/* public method: wpFormatDragItem */
BOOL    wpFormatDragItem(PDRAGITEM pdrgItem)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpFormatDragItem)
	(this,pdrgItem);
}


/* public method: wpFree */
BOOL    wpFree()
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpFree)
	(this);
}


/* public method: wpFreeMem */
BOOL    wpFreeMem(PBYTE pByte)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpFreeMem)
	(this,pByte);
}


/* public method: wpHide */
BOOL    wpHide()
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpHide)
	(this);
}


/* public method: wpInitData */
void    wpInitData()
{
   SOM_Resolve((SOMAny *)this,WPObject,wpInitData)
	(this);
}


/* public method: wpInsertPopupMenuItems */
BOOL    wpInsertPopupMenuItems(HWND hwndMenu,
		ULONG iPosition,
		HMODULE hmod,
		ULONG MenuID,
		ULONG SubMenuID)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpInsertPopupMenuItems)
	(this,hwndMenu,iPosition,hmod,MenuID,SubMenuID);
}


/* public method: wpInsertSettingsPage */
ULONG    wpInsertSettingsPage(HWND hwndNotebook,
		PPAGEINFO ppageinfo)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpInsertSettingsPage)
	(this,hwndNotebook,ppageinfo);
}


/* public method: wpMenuItemHelpSelected */
BOOL    wpMenuItemHelpSelected(ULONG MenuId)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpMenuItemHelpSelected)
	(this,MenuId);
}


/* public method: wpMenuItemSelected */
BOOL    wpMenuItemSelected(HWND hwndFrame,
		ULONG ulMenuId)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpMenuItemSelected)
	(this,hwndFrame,ulMenuId);
}


/* public method: wpModifyPopupMenu */
BOOL    wpModifyPopupMenu(HWND hwndMenu,
		HWND hwndCnr,
		ULONG iPosition)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpModifyPopupMenu)
	(this,hwndMenu,hwndCnr,iPosition);
}


/* public method: wpMoveObject */
BOOL    wpMoveObject(WPFolder *Folder)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpMoveObject)
	(this,Folder);
}


/* public method: wpOpen */
HWND    wpOpen(HWND hwndCnr,
		ULONG ulView,
		ULONG param)
{
   return (HWND) SOM_Resolve((SOMAny *)this,WPObject,wpOpen)
	(this,hwndCnr,ulView,param);
}


/* public method: wpPrintObject */
BOOL    wpPrintObject(PPRINTDEST pPrintDest,
		ULONG ulReserved)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpPrintObject)
	(this,pPrintDest,ulReserved);
}


/* public method: wpQueryConcurrentView */
ULONG    wpQueryConcurrentView()
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryConcurrentView)
	(this);
}


/* public method: wpQueryButtonAppearance */
ULONG    wpQueryButtonAppearance()
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryButtonAppearance)
	(this);
}


/* public method: wpQueryConfirmations */
ULONG    wpQueryConfirmations()
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryConfirmations)
	(this);
}


/* public method: wpQueryDefaultHelp */
BOOL    wpQueryDefaultHelp(PULONG pHelpPanelId,
		PSZ HelpLibrary)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpQueryDefaultHelp)
	(this,pHelpPanelId,HelpLibrary);
}


/* public method: wpQueryDefaultView */
ULONG    wpQueryDefaultView()
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryDefaultView)
	(this);
}


/* public method: wpQueryDetailsData */
ULONG    wpQueryDetailsData(PVOID *ppDetailsData,
		PULONG pcp)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryDetailsData)
	(this,ppDetailsData,pcp);
}


/* public method: wpQueryError */
ULONG    wpQueryError()
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryError)
	(this);
}


/* public method: wpQueryIcon */
HPOINTER    wpQueryIcon()
{
   return (HPOINTER) SOM_Resolve((SOMAny *)this,WPObject,wpQueryIcon)
	(this);
}


/* public method: wpQueryIconData */
ULONG    wpQueryIconData(PICONINFO pIconInfo)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryIconData)
	(this,pIconInfo);
}


/* public method: wpQueryMinWindow */
ULONG    wpQueryMinWindow()
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryMinWindow)
	(this);
}


/* public method: wpQueryNameClashOptions */
ULONG    wpQueryNameClashOptions(ULONG menuID)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryNameClashOptions)
	(this,menuID);
}


/* public method: wpQueryStyle */
ULONG    wpQueryStyle()
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryStyle)
	(this);
}


/* public method: wpSetTaskRec */
BOOL32    wpSetTaskRec(PTASKREC pNew,
		PTASKREC pOld)
{
   return (BOOL32) SOM_Resolve((SOMAny *)this,WPObject,wpSetTaskRec)
	(this,pNew,pOld);
}


/* public method: wpFindTaskRec */
PTASKREC    wpFindTaskRec()
{
   return (PTASKREC) SOM_Resolve((SOMAny *)this,WPObject,wpFindTaskRec)
	(this);
}


/* public method: wpQueryTitle */
PSZ    wpQueryTitle()
{
   return (PSZ) SOM_Resolve((SOMAny *)this,WPObject,wpQueryTitle)
	(this);
}


/* public method: wpRegisterView */
BOOL    wpRegisterView(HWND hwndFrame,
		PSZ pszViewTitle)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpRegisterView)
	(this,hwndFrame,pszViewTitle);
}


/* public method: wpReleaseObjectMutexSem */
ULONG    wpReleaseObjectMutexSem()
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpReleaseObjectMutexSem)
	(this);
}


/* public method: wpRender */
MRESULT    wpRender(PDRAGTRANSFER pdxfer)
{
   return (MRESULT) SOM_Resolve((SOMAny *)this,WPObject,wpRender)
	(this,pdxfer);
}


/* public method: wpRenderComplete */
MRESULT    wpRenderComplete(PDRAGTRANSFER pdxfer,
		ULONG ulResult)
{
   return (MRESULT) SOM_Resolve((SOMAny *)this,WPObject,wpRenderComplete)
	(this,pdxfer,ulResult);
}


/* public method: wpReplaceObject */
BOOL32    wpReplaceObject(WPObject *targetObject,
		BOOL32 fMove)
{
   return (BOOL32) SOM_Resolve((SOMAny *)this,WPObject,wpReplaceObject)
	(this,targetObject,fMove);
}


/* public method: wpRequestObjectMutexSem */
ULONG    wpRequestObjectMutexSem(ULONG ulTimeout)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpRequestObjectMutexSem)
	(this,ulTimeout);
}


/* public method: wpRestore */
BOOL    wpRestore()
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpRestore)
	(this);
}


/* public method: wpRestoreData */
BOOL    wpRestoreData(PSZ pszClass,
		ULONG ulKey,
		PBYTE pValue,
		PULONG pcbValue)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpRestoreData)
	(this,pszClass,ulKey,pValue,pcbValue);
}


/* public method: wpRestoreLong */
BOOL    wpRestoreLong(PSZ pszClass,
		ULONG ulKey,
		PULONG pulValue)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpRestoreLong)
	(this,pszClass,ulKey,pulValue);
}


/* public method: wpRestoreState */
BOOL    wpRestoreState(ULONG ulReserved)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpRestoreState)
	(this,ulReserved);
}


/* public method: wpRestoreString */
BOOL    wpRestoreString(PSZ pszClass,
		ULONG ulKey,
		PSZ pszValue,
		PULONG pcbValue)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpRestoreString)
	(this,pszClass,ulKey,pszValue,pcbValue);
}


/* public method: wpSaveData */
BOOL    wpSaveData(PSZ pszClass,
		ULONG ulKey,
		PBYTE pValue,
		ULONG cbValue)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSaveData)
	(this,pszClass,ulKey,pValue,cbValue);
}


/* public method: wpSaveImmediate */
BOOL    wpSaveImmediate()
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSaveImmediate)
	(this);
}


/* public method: wpSaveDeferred */
BOOL    wpSaveDeferred()
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSaveDeferred)
	(this);
}


/* public method: wpSaveLong */
BOOL    wpSaveLong(PSZ pszClass,
		ULONG ulKey,
		ULONG ulValue)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSaveLong)
	(this,pszClass,ulKey,ulValue);
}


/* public method: wpSaveState */
BOOL    wpSaveState()
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSaveState)
	(this);
}


/* public method: wpSaveString */
BOOL    wpSaveString(PSZ pszClass,
		ULONG ulKey,
		PSZ pszValue)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSaveString)
	(this,pszClass,ulKey,pszValue);
}


/* public method: wpScanSetupString */
BOOL    wpScanSetupString(PSZ pszSetupString,
		PSZ pszKey,
		PSZ pszValue,
		PULONG pcbValue)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpScanSetupString)
	(this,pszSetupString,pszKey,pszValue,pcbValue);
}


/* public method: wpSetConcurrentView */
VOID    wpSetConcurrentView(ULONG ulCCView)
{
   SOM_Resolve((SOMAny *)this,WPObject,wpSetConcurrentView)
	(this,ulCCView);
}


/* public method: wpSetButtonAppearance */
VOID    wpSetButtonAppearance(ULONG ulButtonType)
{
   SOM_Resolve((SOMAny *)this,WPObject,wpSetButtonAppearance)
	(this,ulButtonType);
}


/* public method: wpSetDefaultHelp */
BOOL    wpSetDefaultHelp(ULONG HelpPanelId,
		PSZ HelpLibrary)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetDefaultHelp)
	(this,HelpPanelId,HelpLibrary);
}


/* public method: wpSetDefaultView */
BOOL    wpSetDefaultView(ULONG ulView)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetDefaultView)
	(this,ulView);
}


/* public method: wpSetError */
BOOL    wpSetError(ULONG ulErrorId)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetError)
	(this,ulErrorId);
}


/* public method: wpSetIcon */
BOOL    wpSetIcon(HPOINTER hptrNewIcon)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetIcon)
	(this,hptrNewIcon);
}


/* public method: wpSetIconData */
BOOL    wpSetIconData(PICONINFO pIconInfo)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetIconData)
	(this,pIconInfo);
}


/* public method: wpSetMinWindow */
VOID    wpSetMinWindow(ULONG ulMinWindow)
{
   SOM_Resolve((SOMAny *)this,WPObject,wpSetMinWindow)
	(this,ulMinWindow);
}


/* public method: wpSetStyle */
BOOL    wpSetStyle(ULONG ulNewStyle)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetStyle)
	(this,ulNewStyle);
}


/* public method: wpModifyStyle */
BOOL    wpModifyStyle(ULONG ulStyleFlags,
		ULONG ulStyleMask)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpModifyStyle)
	(this,ulStyleFlags,ulStyleMask);
}


/* public method: wpSetTitle */
BOOL    wpSetTitle(PSZ pszNewTitle)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetTitle)
	(this,pszNewTitle);
}


/* public method: wpSetup */
BOOL    wpSetup(PSZ pszSetupString)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetup)
	(this,pszSetupString);
}


/* public method: wpSwitchTo */
BOOL    wpSwitchTo(ULONG View)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSwitchTo)
	(this,View);
}


/* public method: wpUnInitData */
void    wpUnInitData()
{
   SOM_Resolve((SOMAny *)this,WPObject,wpUnInitData)
	(this);
}


/* public method: wpViewObject */
HWND    wpViewObject(HWND hwndCnr,
		ULONG ulView,
		ULONG param)
{
   return (HWND) SOM_Resolve((SOMAny *)this,WPObject,wpViewObject)
	(this,hwndCnr,ulView,param);
}


/* public method: wpQueryTrueStyle */
ULONG    wpQueryTrueStyle()
{
return (ULONG) ((somTD_WPObject_wpQueryTrueStyle)WPObjectClassData.wpQueryTrueStyle)
	(this);
}


/* public method: wpQueryHandle */
HOBJECT    wpQueryHandle()
{
   return (HOBJECT) SOM_Resolve((SOMAny *)this,WPObject,wpQueryHandle)
	(this);
}


/* public method: wpUnlockObject */
BOOL    wpUnlockObject()
{
   return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpUnlockObject)
	(this);
}



};   /* WPObject */



#endif       /* wpobject_xh */

/*
 * This file was generated by the SOM Compiler.
 * FileName: wpobject.xh.
 * Generated using:
 *     SOM Precompiler spc: 1.22
 *     SOM Emitter emitxh: 1.11
 */
#ifndef wpobject_mxh
#define wpobject_mxh
class M_WPObject;

#define M_WPObject_MajorVersion 1
#define M_WPObject_MinorVersion 2

/* C++ som defs */
#include <somcls.xh>

/* C++ parent def */
#ifndef somcls_xh
#include <somcls.xh>
#endif

#ifndef M_WPObject_API
#define M_WPObject_API
/*
 * The Class API
 */

/* A procedure to create the M_WPObject Class */
SOMEXTERN SOMClass * SOMLINK M_WPObjectNewClass(
		integer4 majorVersion,
		integer4 minorVersion);

/* A macro to return the M_WPObject class object */
#define _M_WPObject ((SOMClass*)M_WPObjectClassData.classObject)

/* The static interface to M_WPObject and its instances */
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;
} M_WPObjectClassData;

/*
 * -- Typedefs for Procedures that support M_WPObject Methods
 */
extern "C" {
typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsCreateDefaultTemplates)(M_WPObject *somSelf,WPObject *Folder);
typedef void    (SOMLINK *somTD_M_WPObject_wpclsInitData)(M_WPObject *somSelf);
typedef WPObject *   (SOMLINK *somTD_M_WPObject_wpclsMakeAwake)(M_WPObject *somSelf,PSZ pszTitle,ULONG ulStyle,HPOINTER hptrIcon,POBJDATA pObjData,WPFolder *Folder,ULONG ulUser);
typedef WPObject *   (SOMLINK *somTD_M_WPObject_wpclsNew)(M_WPObject *somSelf,PSZ pszTitle,PSZ pszSetupEnv,WPFolder *Folder,BOOL fLock);
typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsQueryDefaultHelp)(M_WPObject *somSelf,PULONG pHelpPanelId,PSZ pszHelpLibrary);
typedef ULONG    (SOMLINK *somTD_M_WPObject_wpclsQueryDefaultView)(M_WPObject *somSelf);
typedef PCLASSDETAILS    (SOMLINK *somTD_M_WPObject_wpclsQueryDetails)(M_WPObject *somSelf);
typedef ULONG    (SOMLINK *somTD_M_WPObject_wpclsQueryDetailsInfo)(M_WPObject *somSelf,PCLASSFIELDINFO *ppClassFieldInfo,PULONG pSize);
typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsQueryExtendedCriteria)(M_WPObject *somSelf,PSZ pszName,ULONG ulSearchType,PVOID pvoidExtendedCriteria);
typedef WPObject *   (SOMLINK *somTD_M_WPObject_wpclsQueryFolder)(M_WPObject *somSelf,PSZ pszLocation,BOOL fLock);
typedef HPOINTER    (SOMLINK *somTD_M_WPObject_wpclsQueryIcon)(M_WPObject *somSelf);
typedef VOID    (SOMLINK *somTD_M_WPObject_wpclsQuerySearchInfo)(M_WPObject *somSelf,M_WPObject **ClassExtended,M_WPObject **ClassCreate,PULONG pulClassCriteriaSize);
typedef ULONG    (SOMLINK *somTD_M_WPObject_wpclsQueryStyle)(M_WPObject *somSelf);
typedef PSZ    (SOMLINK *somTD_M_WPObject_wpclsQueryTitle)(M_WPObject *somSelf);
typedef void    (SOMLINK *somTD_M_WPObject_wpclsUnInitData)(M_WPObject *somSelf);
typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsFindObjectFirst)(M_WPObject *somSelf,PCLASS pClassList,PHFIND phFind,PSZ pszTitle,WPFolder *Folder,BOOL fSubfolders,PVOID pExtendedCriteria,POBJECT pBuffer,PULONG pCount);
typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsFindObjectNext)(M_WPObject *somSelf,HFIND hFind,POBJECT pBuffer,PULONG pCount);
typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsFindObjectEnd)(M_WPObject *somSelf,HFIND hFind);
typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsSetError)(M_WPObject *somSelf,ULONG ulErrorId);
typedef ULONG    (SOMLINK *somTD_M_WPObject_wpclsQueryError)(M_WPObject *somSelf);
typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsQuerySettingsPageSize)(M_WPObject *somSelf,PSIZEL pSizl);
typedef ULONG    (SOMLINK *somTD_M_WPObject_wpclsQueryIconData)(M_WPObject *somSelf,PICONINFO pIconInfo);
typedef WPObject *   (SOMLINK *somTD_M_WPObject_wpclsQueryObject)(M_WPObject *somSelf,HOBJECT hObject);
typedef ULONG    (SOMLINK *somTD_M_WPObject_wpclsQueryButtonAppearance)(M_WPObject *somSelf);
}


#endif /* M_WPObject_API */


/*
 * -- The C++ Wrapper Class for M_WPObject
 */
class M_WPObject : public SOMClass
{
public:

void *operator new(size_t size)
{
   (void) size;
   if (!M_WPObjectClassData.classObject) 
      M_WPObjectNewClass(M_WPObject_MajorVersion,M_WPObject_MinorVersion);
   return (void *)
      ((somTD_SOMClass_somNew)
      somResolve(SOM_TestCls((SOMAny *)(M_WPObjectClassData.classObject),
                             SOMClassClassData.classObject),
                 SOMClassClassData.somNew))
         ((SOMClass*)(M_WPObjectClassData.classObject));
}

void operator delete(void * obj)
{
   ((SOMObject *)obj)->somFree();
}

/* public method: wpclsCreateDefaultTemplates */
BOOL    wpclsCreateDefaultTemplates(WPObject *Folder)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsCreateDefaultTemplates)
	(this,Folder);
}


/* public method: wpclsInitData */
void    wpclsInitData()
{
   SOM_Resolve((SOMAny *)this,M_WPObject,wpclsInitData)
	(this);
}


/* public method: wpclsMakeAwake */
WPObject *   wpclsMakeAwake(PSZ pszTitle,
		ULONG ulStyle,
		HPOINTER hptrIcon,
		POBJDATA pObjData,
		WPFolder *Folder,
		ULONG ulUser)
{
   return (WPObject*) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsMakeAwake)
	(this,pszTitle,ulStyle,hptrIcon,pObjData,Folder,ulUser);
}


/* public method: wpclsNew */
WPObject *   wpclsNew(PSZ pszTitle,
		PSZ pszSetupEnv,
		WPFolder *Folder,
		BOOL fLock)
{
   return (WPObject*) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsNew)
	(this,pszTitle,pszSetupEnv,Folder,fLock);
}


/* public method: wpclsQueryDefaultHelp */
BOOL    wpclsQueryDefaultHelp(PULONG pHelpPanelId,
		PSZ pszHelpLibrary)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryDefaultHelp)
	(this,pHelpPanelId,pszHelpLibrary);
}


/* public method: wpclsQueryDefaultView */
ULONG    wpclsQueryDefaultView()
{
   return (ULONG) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryDefaultView)
	(this);
}


/* public method: wpclsQueryDetails */
PCLASSDETAILS    wpclsQueryDetails()
{
   return (PCLASSDETAILS) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryDetails)
	(this);
}


/* public method: wpclsQueryDetailsInfo */
ULONG    wpclsQueryDetailsInfo(PCLASSFIELDINFO *ppClassFieldInfo,
		PULONG pSize)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryDetailsInfo)
	(this,ppClassFieldInfo,pSize);
}


/* public method: wpclsQueryExtendedCriteria */
BOOL    wpclsQueryExtendedCriteria(PSZ pszName,
		ULONG ulSearchType,
		PVOID pvoidExtendedCriteria)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryExtendedCriteria)
	(this,pszName,ulSearchType,pvoidExtendedCriteria);
}


/* public method: wpclsQueryFolder */
WPObject *   wpclsQueryFolder(PSZ pszLocation,
		BOOL fLock)
{
   return (WPObject*) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryFolder)
	(this,pszLocation,fLock);
}


/* public method: wpclsQueryIcon */
HPOINTER    wpclsQueryIcon()
{
   return (HPOINTER) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryIcon)
	(this);
}


/* public method: wpclsQuerySearchInfo */
VOID    wpclsQuerySearchInfo(M_WPObject **ClassExtended,
		M_WPObject **ClassCreate,
		PULONG pulClassCriteriaSize)
{
   SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQuerySearchInfo)
	(this,ClassExtended,ClassCreate,pulClassCriteriaSize);
}


/* public method: wpclsQueryStyle */
ULONG    wpclsQueryStyle()
{
   return (ULONG) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryStyle)
	(this);
}


/* public method: wpclsQueryTitle */
PSZ    wpclsQueryTitle()
{
   return (PSZ) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryTitle)
	(this);
}


/* public method: wpclsUnInitData */
void    wpclsUnInitData()
{
   SOM_Resolve((SOMAny *)this,M_WPObject,wpclsUnInitData)
	(this);
}


/* public method: wpclsFindObjectFirst */
BOOL    wpclsFindObjectFirst(PCLASS pClassList,
		PHFIND phFind,
		PSZ pszTitle,
		WPFolder *Folder,
		BOOL fSubfolders,
		PVOID pExtendedCriteria,
		POBJECT pBuffer,
		PULONG pCount)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsFindObjectFirst)
	(this,pClassList,phFind,pszTitle,Folder,fSubfolders,pExtendedCriteria,pBuffer,pCount);
}


/* public method: wpclsFindObjectNext */
BOOL    wpclsFindObjectNext(HFIND hFind,
		POBJECT pBuffer,
		PULONG pCount)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsFindObjectNext)
	(this,hFind,pBuffer,pCount);
}


/* public method: wpclsFindObjectEnd */
BOOL    wpclsFindObjectEnd(HFIND hFind)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsFindObjectEnd)
	(this,hFind);
}


/* public method: wpclsSetError */
BOOL    wpclsSetError(ULONG ulErrorId)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsSetError)
	(this,ulErrorId);
}


/* public method: wpclsQueryError */
ULONG    wpclsQueryError()
{
   return (ULONG) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryError)
	(this);
}


/* public method: wpclsQuerySettingsPageSize */
BOOL    wpclsQuerySettingsPageSize(PSIZEL pSizl)
{
   return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQuerySettingsPageSize)
	(this,pSizl);
}


/* public method: wpclsQueryIconData */
ULONG    wpclsQueryIconData(PICONINFO pIconInfo)
{
   return (ULONG) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryIconData)
	(this,pIconInfo);
}


/* public method: wpclsQueryObject */
WPObject *   wpclsQueryObject(HOBJECT hObject)
{
   return (WPObject*) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryObject)
	(this,hObject);
}


/* public method: wpclsQueryButtonAppearance */
ULONG    wpclsQueryButtonAppearance()
{
   return (ULONG) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryButtonAppearance)
	(this);
}



};   /* M_WPObject */



#endif       /* wpobject_mxh */
