home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / H / WPOBJECT.XH < prev    next >
Text File  |  1995-08-30  |  125KB  |  4,241 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: wpobject.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.2
  7.  *     SOM Emitter emitxh: 2.41
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  File:  wptypes.idl
  13.  * 
  14.  *  This file contains the IDL type definitions for the foreign types
  15.  *  defined in the WPSH IDL files.
  16.  * 
  17.  * 
  18.  */
  19.  
  20.  
  21. #ifndef SOM_WPObject_xh
  22. #define SOM_WPObject_xh
  23.  
  24. class WPObject;
  25.  
  26. #define WPObject_MajorVersion 1
  27. #define WPObject_MinorVersion 2
  28.  
  29. /*
  30.  * Passthru lines: File: "C.xh", "before"
  31.  */
  32.  
  33.    #define INCL_WINSTDCNR
  34.    #include <pmstddlg.h>
  35.  
  36.       class M_WPObject;
  37.       class WPObject;
  38.  
  39.  
  40.       #ifdef _wpCreateShadowObject2
  41.          #undef _wpCreateShadowObject2
  42.       #endif
  43.       #define _wpCreateShadowObject2 _wpCreateShadowObjectExt
  44.  
  45.  
  46.       /* Object style flags (see wpSetStyle) */
  47.  
  48.       #define OBJSTYLE_NOMOVE          2
  49.       #define OBJSTYLE_NOLINK          4
  50.       #define OBJSTYLE_NOCOPY          8
  51.       #define OBJSTYLE_NOTDEFAULTICON 16   /* Intentionally not declared CLSSTYLE */ 
  52.       #define OBJSTYLE_TEMPLATE       32
  53.       #define OBJSTYLE_NODELETE       64
  54.       #define OBJSTYLE_NOPRINT       128
  55.       #define OBJSTYLE_NODRAG        256
  56.       #define OBJSTYLE_NOTVISIBLE    512
  57.       #define OBJSTYLE_NOSETTINGS   1024
  58.       #define OBJSTYLE_NORENAME     2048
  59.       #define OBJSTYLE_NODROP       4096
  60.       #define OBJSTYLE_NODROPON     8192   /* Use instead of OBJSTYLE_NODROP, 
  61.                                               because OBJSTYLE_NODROP and     
  62.                                               CLSSTYLE_PRIVATE have the same  
  63.                                               value (DD 86093F) */            
  64.       #define OBJSTYLE_CUSTOMICON   16384  /* Use instead of OBJSTYLE_NOTDEFAULTICON  
  65.                                                because OBJSTYLE_NOTDEFAULTICON and    
  66.                                                CLSSTYLE_NEVERTEMPLATE have the same   
  67.                                                value (DD 86093F) */                   
  68.  
  69.       /*  Class style flags (see wpclsQueryStyle) */
  70.  
  71.       #define CLSSTYLE_NEVERMOVE      OBJSTYLE_NOMOVE
  72.       #define CLSSTYLE_NEVERLINK      OBJSTYLE_NOLINK
  73.       #define CLSSTYLE_NEVERCOPY      OBJSTYLE_NOCOPY
  74.       #define CLSSTYLE_NEVERTEMPLATE  16
  75.       #define CLSSTYLE_NEVERDELETE    OBJSTYLE_NODELETE
  76.       #define CLSSTYLE_NEVERPRINT     OBJSTYLE_NOPRINT
  77.       #define CLSSTYLE_NEVERDRAG      OBJSTYLE_NODRAG
  78.       #define CLSSTYLE_NEVERVISIBLE   OBJSTYLE_NOTVISIBLE
  79.       #define CLSSTYLE_NEVERRENAME    OBJSTYLE_NORENAME
  80.       #define CLSSTYLE_PRIVATE        4096   /* Intentionally not declared OBJSTYLE */     
  81.       #define CLSSTYLE_NEVERSETTINGS  OBJSTYLE_NOSETTINGS                      /*DD 86093F*/ 
  82.       #define CLSSTYLE_NEVERDROPON    OBJSTYLE_NODROPON                        /*DD 86093F*/ 
  83.       #define CLSSTYLE_HIDDEN         32768  /* Use instead of CLSSTYLE_PRIVATE          
  84.                                                  because OBJSTYLE_NODROP and             
  85.                                                  CLSSTYLE_PRIVATE have the same          
  86.                                                  value (DD 86093F) */                    
  87.       #define CLSSTYLE_DONTTEMPLATE   65536  /* Use instead of CLSSTYLE_NEVERTEMPLATE    
  88.                                                  because OBJSTYLE_NOTDEFAULTICON and     
  89.                                                  CLSSTYLE_NEVERTEMPLATE have the same    
  90.                                                  value (DD 86093F) */                    
  91.  
  92.       /* Flags for wpObjectReady() method */ 
  93.       #define OR_NEW           0x00000001
  94.       #define OR_AWAKE         0x00000002
  95.       #define OR_REFERENCE     0x10000000
  96.       #define OR_FROMTEMPLATE (0x00000004 | OR_REFERENCE)
  97.       #define OR_FROMCOPY     (0x00000008 | OR_REFERENCE)
  98.       #define OR_SHADOW       (0x00000010 | OR_REFERENCE)
  99.  
  100.       /*  Flags for the wpFilterPopupMenu() method */
  101.  
  102.       #define CTXT_CRANOTHER     0x0001   /* Flags for ulFlags */
  103.       #define CTXT_NEW           CTXT_CRANOTHER
  104.       #define CTXT_OPEN          0x0002
  105.       #define CTXT_WINDOW        0x0004
  106.       #define CTXT_SWITCHTO      CTXT_WINDOW
  107.       #define CTXT_CLOSE         0x0008
  108.       #define CTXT_SETTINGS      0x0010
  109.       #define CTXT_PRINT         0x0020
  110.       #define CTXT_HELP          0x0040
  111.       #define CTXT_DELETE        0x0080
  112.       #define CTXT_COPY          0x0100
  113.       #define CTXT_MOVE          0x0200
  114.       #define CTXT_SHADOW        0x0400
  115.       #define CTXT_LINK          CTXT_SHADOW
  116.       #define CTXT_PROGRAM       0x0800
  117.       #define CTXT_ICON        0x001000
  118.       #define CTXT_TREE        0x002000
  119.       #define CTXT_DETAILS     0x004000
  120.       #define CTXT_FIND        0x008000
  121.       #define CTXT_SELECT      0x010000
  122.       #define CTXT_ARRANGE     0x020000
  123.       #define CTXT_SORT        0x040000
  124.       #define CTXT_SHUTDOWN    0x080000
  125.       #define CTXT_LOCKUP      0x100000
  126.       #define CTXT_PALETTE     0x200000
  127.       #define CTXT_REFRESH     0x400000
  128.       #define CTXT_PICKUP      0x800000              /*rme88844*/
  129.       #define CTXT_PUTDOWN        0x1000000          /*rme88844*/
  130.       #define CTXT_PUTDOWN_CANCEL 0x2000000          /*rme88844*/
  131.  
  132.      /* Flags for the wpDisplayMenu() method */
  133.  
  134.      #define MENU_OBJECTPOPUP          0x00000001
  135.      #define MENU_OPENVIEWPOPUP        0x00000002
  136.      #define MENU_TITLEBARPULLDOWN     0x00000003
  137.      #define MENU_TITLEBARPULLDOWNINT  0x00000004
  138.      #define MENU_USER                 0x80000000
  139.  
  140.       /* common context menu ids */
  141.  
  142.       #define WPMENUID_USER          0x6500
  143.       #define WPMENUID_PRIMARY            0
  144.       #define WPMENUID_OPEN               1
  145.       #define WPMENUID_HELP               2
  146.       #define WPMENUID_PRINT              3
  147.       #define WPMENUID_SELECT             4
  148.       #define WPMENUID_SORT               5
  149.       #define WPMENUID_TREE               123                                 /*DD 86092F*/  
  150.       #define WPMENUID_FIND               8                                   /*DD 86092F*/  
  151.       #define WPMENUID_CREATEANOTHER      101                                 /*DD 86092F*/  
  152.       #define WPMENUID_MOVE               107                                 /*DD 86092F*/  
  153.       #define WPMENUID_COPY               108                                 /*DD 86092F*/  
  154.       #define WPMENUID_DELETE             109                                 /*DD 86092F*/  
  155.       #define WPMENUID_PROPERTIES         112                                 /*DD 86092F*/  
  156.       #define WPMENUID_SELALL             114                                 /*DD 86092F*/  
  157.       #define WPMENUID_DESELALL           115                                 /*DD 86092F*/  
  158.       #define WPMENUID_RESERVED1          118                                 /*DD 86092F*/  
  159.       #define WPMENUID_CLOSE              120                                 /*DD 86092F*/  
  160.       #define WPMENUID_FORMAT             124                                 /*DD 86092F*/  
  161.       #define WPMENUID_CHKDSK             128                                 /*DD 86092F*/  
  162.       #define WPMENUID_FIXDSK             129                                 /*DD 86092F*/  
  163.       #define WPMENUID_PROGRAM            132                                 /*DD 86092F*/  
  164.       #define WPMENUID_COPYDSK            182                                 /*DD 86092F*/  
  165.       #define WPMENUID_LOCKDISK           184                                 /*DD 86092F*/  
  166.       #define WPMENUID_EJECTDISK          185                                 /*DD 86092F*/  
  167.       #define WPMENUID_UNLOCKDISK         186                                 /*DD 86092F*/  
  168.       #define WPMENUID_PICKUP             188                                 /* rme77131*/  
  169.       #define WPMENUID_PUTDOWN            189                                 /* rme77131*/  
  170.       #define WPMENUID_PUTDOWN_COPY       190                                 /* rme77131*/  
  171.       #define WPMENUID_PUTDOWN_MOVE       191                                 /* rme77131*/  
  172.       #define WPMENUID_PUTDOWN_LINK       192                                 /* rme77131*/  
  173.       #define WPMENUID_PUTDOWN_CANCEL     193                                 /* rme77131*/  
  174.       #define WPMENUID_PUTDOWN_CREATE     194                                 /* rme77131*/  
  175.       #define WPMENUID_ICON               303                                 /*DD 86092F*/  
  176.       #define WPMENUID_DETAILS            304                                 /*DD 86092F*/  
  177.       #define WPMENUID_ARRANGE            309                                 /*DD 86092F*/  
  178.       #define WPMENUID_RESERVED2          315                                 /*DD 86092F*/  
  179.       #define WPMENUID_CREATESHADOW       316                                 /*DD 86092F*/  
  180.       #define WPMENUID_PALETTE            317                                 /*DD 86092F*/  
  181.       #define WPMENUID_REFRESH            503                                 /*DD 86092F*/  
  182.       #define WPMENUID_HELP_FOR_HELP      601                                 /*DD 86092F*/  
  183.       #define WPMENUID_HOWTOGETHELP       601                                 /*DD 86092F*/  
  184.       #define WPMENUID_EXTENDEDHELP       602                                 /*DD 86092F*/  
  185.       #define WPMENUID_HELPKEYS           603                                 /*DD 86092F*/  
  186.       #define WPMENUID_HELPINDEX          604                                 /*DD 86092F*/  
  187.       #define WPMENUID_SHUTDOWN           704                                 /*DD 86092F*/  
  188.       #define WPMENUID_LOCKUP             705                                 /*DD 86092F*/  
  189.       #define WPMENUID_LOGIN              708                                 /*DD 86092F*/  
  190.       #define WPMENUID_LOGOUT             709                                 /*DD 86092F*/  
  191.       #define WPMENUID_ASSIGN             710                                 /*DD 86092F*/  
  192.       #define WPMENUID_UNASSIGN           711                                 /*DD 86092F*/  
  193.       #define WPMENUID_ACCESSNEW          712                                 /*DD 86092F*/  
  194.       #define WPMENUID_SYSTEMSETUP        713                                 /*DD 86092F*/  
  195.  
  196.  
  197.       /*  Open views for the wpOpen() method */
  198.  
  199.       #define OPEN_UNKNOWN      -1
  200.       #define OPEN_DEFAULT       0
  201.       #define OPEN_CONTENTS      1
  202.       #define OPEN_SETTINGS      2
  203.       #define OPEN_HELP          3
  204.       #define OPEN_RUNNING       4
  205.       #define OPEN_PROMPTDLG     5
  206.       #define OPEN_PALETTE       121                                   /*SPLIT*/
  207.       #define OPEN_USER          0x6500
  208.  
  209.       /*  Definitions for the INUSE list that is kept
  210.        *  for every object via wpAddToObjUseList and
  211.        *  wpRemoveFromObjUseList methods...
  212.        */
  213.  
  214.       /* This structure is always followed immediately by a type
  215.        * dependant struct such as MEMORYITEM,RECORDITEM,VIEWITEM
  216.        * or some other user defined structure...
  217.        */
  218.       typedef struct _USEITEM
  219.       {
  220.          ULONG  type;                  /* Type of this Item */
  221.          struct _USEITEM *pNext;   /* Next item in use list */
  222.       } USEITEM;
  223.       typedef USEITEM *PUSEITEM;
  224.  
  225.       #define USAGE_MEMORY          1  /* Values of 'type' */
  226.       #define USAGE_RECORD          4
  227.       #define USAGE_OPENVIEW        5
  228.       #define USAGE_LINK            6
  229.       #define USAGE_OPENFILE       20
  230.  
  231.       typedef struct _MEMORYITEM       /* USAGE_MEMORY struct */
  232.       {
  233.          ULONG     cbBuffer;           /* Number of bytes in memory block */
  234.       } MEMORYITEM;
  235.       typedef MEMORYITEM *PMEMORYITEM;
  236.  
  237.       typedef struct _RECORDITEM       /* USAGE_RECORD struct */
  238.       {
  239.          HWND            hwndCnr;      /* Cnr into which object is inserted */
  240.          PMINIRECORDCORE pRecord;      /* Record pointer within that cnr */
  241.          ULONG           ulUser;       /* For application use RECSH */ 
  242.       } RECORDITEM;
  243.       typedef RECORDITEM *PRECORDITEM;
  244.  
  245.       #define VIEWSTATE_OPENING       0x0001   /* The view is being opened */
  246.       #define VIEWSTATE_OBJECTDELETED 0x0002   /* The object has been deleted */
  247.       #define VIEWSTATE_USERHIDDEN    0x0004   /* The view was hidden by user */
  248.       #define VIEWSTATE_POPULATING    0x0008   /* The view is populating      */
  249.       #define VIEWSTATE_USERMINIMIZED 0x0010   /* The view was minimized by the user */
  250.       #define VIEWSTATE_CLOSING       0x0020   /* The view is closing */
  251.       #define VIEWSTATE_DELETING      0x0040   /* The object is being deleted */
  252.  
  253.       typedef struct _VIEWITEM         /* USAGE_OPENVIEW struct */
  254.       {
  255.          ULONG        view;            /* Object view that this represents */
  256.          LHANDLE      handle;          /* Open handle */
  257.          ULONG        ulViewState;     /* View State flags */
  258.          HWND         hwndCnr;         /* System use only (window animation) */
  259.          PMINIRECORDCORE pRecord;      /* System use only (window animation) */
  260.       } VIEWITEM;
  261.       typedef VIEWITEM *PVIEWITEM;
  262.  
  263.       typedef struct _LINKITEM         /* USAGE_LINK struct */
  264.       {
  265.          WPObject    *LinkObj;         /* The link object */
  266.       } LINKITEM;
  267.       typedef LINKITEM *PLINKITEM;
  268.  
  269.       typedef struct _VIEWFILE         /* USAGE_OPENFILE struct */
  270.       {
  271.          ULONG        ulMenuId;        /* Menu id if association or menu page */
  272.          LHANDLE      handle;          /* Open handle */
  273.          HWND         hwndCnr;         /* System use only (window animation) */
  274.          PMINIRECORDCORE pRecord;      /* System use only (window animation) */
  275.       } VIEWFILE;
  276.       typedef VIEWFILE *PVIEWFILE;
  277.  
  278.       /* Notes: The class name immediately follows the control block. The
  279.        *        first instance variable control block immediately follows
  280.        *        this.
  281.        */
  282.       typedef struct _WPSRCLASSBLOCK
  283.       {
  284.         SHORT   ClassNameLength;       /* Length of class name, including the
  285.                                         * .. null terminator. This must be a
  286.                                         * .. SHORT and must be at the beginning
  287.                                         * .. of the structure.
  288.                                         */
  289.         USHORT  IVarLength;            /* Length of instance variable
  290.                                         * .. information, including the two-
  291.                                         * .. byte null terminator
  292.                                         */
  293.       } WPSRCLASSBLOCK;
  294.  
  295.       /*  Persistant storage structures (see wpSaveShort
  296.        *  and wpRestoreShort etc...)
  297.        */
  298.  
  299.  
  300.       /* This control structure does not reside in the dormant state.
  301.        * It is used only when a persistant data block is
  302.        * resident in memory - either when an object is being saved or
  303.        * when it is being restored...
  304.        */
  305.       typedef struct _OBJDATA
  306.       {
  307.          WPSRCLASSBLOCK       *CurrentClass;
  308.          WPSRCLASSBLOCK       *First;
  309.          PUCHAR                NextData;
  310.          USHORT                Length;
  311.       } OBJDATA;
  312.       typedef OBJDATA *POBJDATA;
  313.  
  314.       /*  wpCnrInsertObject/wpCnrRemoveObject structs
  315.        *  and macros...
  316.        */
  317.  
  318.       typedef struct _CLASSDETAILS     /* Class Details struct */
  319.       {
  320.          PSZ          pszAttribute;    /* Translatable string for a class attribute*/
  321.          PVOID        pSortRecord;     /* Function pointer for sort function for attribute*/
  322.          struct _CLASSDETAILS *pNext; /* Next item in class details list */
  323.       } CLASSDETAILS;
  324.       typedef CLASSDETAILS *PCLASSDETAILS;
  325.  
  326.       /* Macro to return the object associated with a given MINIRECORDCORE
  327.        * that was inserted using the wpCnrInsertObject method
  328.        */
  329.       #define OBJECT_FROM_PREC( prec )   ( (WPObject *)( * (((PULONG)prec)-2) ) )
  330.  
  331.       /* Macro to access the app defineable dword within the RECORDITEM
  332.        * structure that is created when an object is put into a list
  333.        * control using the wpCnrInsertObject method.
  334.        */
  335.       PULONG EXPENTRY ShlGetUserWordPtr(
  336.          HWND            hwndCnr,
  337.          PMINIRECORDCORE prec );
  338.  
  339.       #define USERWORD_FROM_PREC( hwnd, prec )              \ 
  340.          ( (ULONG)( *ShlGetUserWordPtr(hwnd,prec) ) )
  341.  
  342.       /* Details comparison function definition
  343.        *
  344.        *    Param1  PVOID   - Pointer to details field value
  345.        *    Param2  PVOID   - Pointer to value to be compared with
  346.        *
  347.        *    Returns LONG    - Must be CMP_EQUAL, CMP_GREATER, CMP_LESS
  348.        */
  349.       typedef LONG (EXPENTRY FNCOMPARE)(PVOID,PVOID);
  350.       typedef FNCOMPARE *PFNCOMPARE;
  351.  
  352.       #define CMP_EQUAL            0
  353.       #define CMP_GREATER          1
  354.       #define CMP_LESS             2
  355.       #define CMP_GREATER_OR_EQUAL 3
  356.       #define CMP_LESS_OR_EQUAL    4
  357.       #define CMP_NOT_EQUAL        5
  358.  
  359.       #define NUM_CMP_VALUES       6
  360.  
  361.       /* Owner draw function definition
  362.        *
  363.        *    Param1  HWND  - Handle of window that is being painted
  364.        *    Param2  PVOID - POWNERITEM structure pointer, see the container
  365.        *                    control programming reference for the meaning
  366.        *                    of the fields in this structure.
  367.        *    Param3  PVOID - Pointer to the comparison value to draw (this
  368.        *                    is NULL, except when this function is painting
  369.        *                    its value into the include criteria dialog
  370.        *                    when it points to Criteria.CompareValue...)
  371.        *
  372.        *    Returns BOOL  - TRUE if the field was ownerdrawn, FALSE if the
  373.        *                    container control should do default painting.
  374.        */
  375.       typedef BOOL (EXPENTRY FNOWNDRW)(HWND,PVOID,PVOID);
  376.       typedef FNOWNDRW *PFNOWNDRW;
  377.  
  378.       /* Details comparison criteria structure
  379.        */
  380.       typedef struct _CRITERIA
  381.       {
  382.          PVOID            pReserved;           /* Reserved - MUST be null!!!! */
  383.          struct _CRITERIA *pNext;
  384.          struct _CRITERIA *pPrev;
  385.          ULONG            ClassFieldInfoIndex; /* Index of the details field  */
  386.          ULONG            LogicalOperator;     /* CRITERIA_AND or CRITERIA_OR */
  387.          ULONG            ComparisonType;      /* CMP_LESS_OR_EQUAL etc...    */
  388.          ULONG            ulLenCompareValue;   /* sizeof(ComparisonData)      */
  389.          CHAR             CompareValue[1];     /* Value to be compared with   */
  390.       } CRITERIA;
  391.       typedef CRITERIA *PCRITERIA;
  392.  
  393.       #define CRITERIA_AND        0
  394.       #define CRITERIA_OR         1
  395.  
  396.       /* ClassCriteria structure: points to a linked list of CRITERIA
  397.        * for the given class. ClassCriteria may be linked into a list
  398.        * too - and passed to a filter object, or the wpclsFindObjectFirst
  399.        * method call...
  400.        */
  401.       typedef struct _CLASSCRITERIA                                     /*!INC*/
  402.       {
  403.          struct _CLASSCRITERIA *pNext;
  404.          struct _CLASSCRITERIA *pPrev;
  405.          M_WPObject            *Class;          /* Class object */
  406.          PCRITERIA              pCriteria;      /* Linked list of criteria */
  407.          WPObject              *NotifyObject;   /* Owner of the criteria list */
  408.       } CLASSCRITERIA;
  409.       typedef CLASSCRITERIA *PCLASSCRITERIA;
  410.  
  411.       /* This structure is passed to a details criteria edit window
  412.        * when it is created, so that it knows the current value and
  413.        * min/max values for the criteria to be edited.
  414.        *
  415.        * As the user modifies the compare value using the criteria
  416.        * edit window, it should update the buffer pointed to by
  417.        * 'pCompareValue'.
  418.        */
  419.       typedef struct _EDITCTLINIT                                       /*!INC*/
  420.       {
  421.          ULONG cb;                /* must have length in control data! MindyP */
  422.          PVOID pCompareValue;     /* Buffer containing the current value */
  423.          ULONG ulLenCompareValue; /* Length of pCompareValue buffer */
  424.          PVOID pMinCompareValue;  /* READ-ONLY parameter, NULL => default */
  425.          PVOID pMaxCompareValue;  /* READ-ONLY parameter, NULL => default */
  426.       } EDITCTLINIT;
  427.       typedef EDITCTLINIT *PEDITCTLINIT;
  428.  
  429.       /* Structure for wpclsQueryDetailsInfo method
  430.        *
  431.        * CLASSFIELDINFO is identical to the FIELDINFO structure of the
  432.        * container control with the following differences:
  433.        *
  434.        * - The offStruct field from FIELDINFO is reserved.
  435.        * - The offFieldData and usLenFieldData structure elements have
  436.        *   been added.
  437.        * - Compare/Sort/Ownerdraw fields have also been added for the
  438.        *   convenience of the programmer, so that object details can
  439.        *   be customized and objects can be found or included by any
  440.        *   of their displayable object details.
  441.        *
  442.        * For example if the application has the following details data:
  443.        *
  444.        * typedef struct _SAMPLE {
  445.        *   CDATE   cdate;
  446.        *   CTIME   ctime;
  447.        *   PSZ     psz;
  448.        * }  SAMPLE;
  449.        *
  450.        * classfieldinfo[0].offFieldData   = FIELDOFFSET(SAMPLE,cdate);
  451.        * classfieldinfo[0].ulLenFieldData = FIELDOFFSET(SAMPLE,ctime) -
  452.        *                                    FIELDOFFSET(SAMPLE,cdate);
  453.        *
  454.        * classfieldinfo[1].offFieldData   = FIELDOFFSET(SAMPLE,ctime);
  455.        * classfieldinfo[1].ulLenFieldData = FIELDOFFSET(SAMPLE,psz) -
  456.        *                                    FIELDOFFSET(SAMPLE,ctime);
  457.        *
  458.        * classfieldinfo[2].offFieldData   = FIELDOFFSET(SAMPLE,psz);
  459.        * classfieldinfo[2].ulLenFieldData = sizeof(SAMPLE) -
  460.        *                                    FIELDOFFSET(SAMPLE,psz);
  461.        *
  462.        * NOTE: It is essential that the fields be linked in order ex. above
  463.        *       cdate must be followed by ctime and finally psz.
  464.        */
  465.       typedef struct _CLASSFIELDINFO                                    /*!INC*/
  466.       {
  467.          /* Details field attributes
  468.           */
  469.          ULONG      cb;                  /* size of CLASSFIELDINFO struct  */
  470.          ULONG      flData;              /* attributes of field's data     */
  471.          ULONG      flTitle;             /* attributes of field's title    */
  472.          PVOID      pTitleData;          /* title data (default is string) */
  473.                                          /* If CFT_BITMAP, must be HBITMAP */
  474.          ULONG      ulReserved;          /* Reserved                       */
  475.          PVOID      pUserData;           /* pointer to user data           */
  476.          struct _CLASSFIELDINFO *pNextFieldInfo; /* pointer to next linked */
  477.                                                 /* CLASSFIELDINFO structure*/
  478.          ULONG      cxWidth;             /* width of field in pels         */
  479.          ULONG      offFieldData;        /* offset from beginning of       */
  480.                                          /*   this class's data for this   */
  481.                                          /*   field. (first field is 0).   */
  482.          ULONG      ulLenFieldData;      /* width of data in bytes.        */
  483.                                          /*   (4 for a pointer).           */
  484.          PFNOWNDRW  pfnOwnerDraw;        /* Ownerdraw procedure for detail */
  485.                                          /* column. Can be NULL except if  */
  486.                                          /* ownerdraw is being used.       */
  487.          /* Include/Sort parameters
  488.           */
  489.          ULONG      flCompare;           /* Flags: for example, use the    */
  490.                                          /*   COMPARE_SUPPORTED flag if    */
  491.                                          /*   your field can be compared   */
  492.          PFNCOMPARE pfnCompare;          /* Comparison function for this   */
  493.                                          /*   field. Can be NULL unless    */
  494.                                          /*   ownerdraw is used.           */
  495.          ULONG      DefaultComparison;   /* This is the default compare    */
  496.                                          /*   operator in the include      */
  497.                                          /*   page criteria dialog. (eg:   */
  498.                                          /*   CMP_LESS_OR_EQUAL)           */
  499.          ULONG      ulLenCompareValue;   /* Maximum length of the compare  */
  500.                                          /*   data. Can be NULL unless     */
  501.                                          /*   ownerdraw is used.           */
  502.          PVOID      pDefCompareValue;    /* The default value to be used   */
  503.                                          /*   for comparisons. Can be NULL */
  504.                                          /*   unless ownerdraw is used.    */
  505.          PVOID      pMinCompareValue;    /* The default value to be used   */
  506.                                          /*   for comparisons.Can be NULL  */
  507.                                          /*   unless ownerdraw is used.    */
  508.          PVOID      pMaxCompareValue;    /* The default value to be used   */
  509.                                          /*   for comparisons.Can be NULL  */
  510.                                          /*   unless ownerdraw is used.    */
  511.          PSZ        pszEditControlClass; /* Window class to be used to edit*/
  512.                                          /*   the compare value. Can be    */
  513.                                          /*   NULL unless ownerdraw is used*/
  514.          PFNCOMPARE pfnSort;             /* Sort function for this @SM09511*/
  515.                                          /*   field. Can be NULL unless    */
  516.                                          /*   ownerdraw is used.           */
  517.          PSZ        *pNewComp;
  518.       } CLASSFIELDINFO;
  519.  
  520.       typedef CLASSFIELDINFO *PCLASSFIELDINFO;
  521.  
  522.       #define COMPARE_SUPPORTED      1
  523.       #define SORTBY_SUPPORTED       2
  524.  
  525.       /* Standard notebook size constants */
  526.       #define STDNOTEBOOKWIDTH    290
  527.       #define STDNOTEBOOKHEIGHT   275
  528.  
  529.       /* Confirm flags */
  530.       #define CONFIRM_DELETE             0x0001
  531.       #define CONFIRM_DELETEFOLDER       0x0002
  532.       #define CONFIRM_RENAMEFILESWITHEXT 0x0004
  533.       #define CONFIRM_KEEPASSOC          0x0008
  534.       #define CONFIRM_ACTION             0x0010
  535.       #define CONFIRM_PROGRESS           0x0020
  536.       #define CONFIRM_ALLOWFORCEDELETE   0x0040
  537.       #define CONFIRM_FORCEDELETE        0x0080
  538.  
  539.       #define OK_DELETE             1
  540.       #define NO_DELETE             2
  541.       #define CANCEL_DELETE         3
  542.  
  543.       #define NUM_OBJDETAILS_FIELDS    5     /* number of object details */
  544.  
  545.       /* Search Type for wpclsQueryExtendedCriteria */
  546.  
  547.       #define SEARCH_ALL_FOLDERS 1
  548.       #define SEARCH_THIS_FOLDER 2
  549.       #define SEARCH_THIS_TREE   3
  550.  
  551.       /* Find method related types and constants */
  552.  
  553.       typedef WPObject   *OBJECT;                             /* FIND */
  554.       typedef OBJECT     *POBJECT;
  555.       typedef M_WPObject *CLASS;
  556.       typedef CLASS      *PCLASS;
  557.       typedef LHANDLE     HFIND;
  558.       typedef HFIND      *PHFIND;
  559.  
  560.       /* wpDrop method return code  */
  561.  
  562.       #define RC_DROP_DROPCOMPLETE 2
  563.       #define RC_DROP_ITEMCOMPLETE 1
  564.       #define RC_DROP_RENDERING    0
  565.       #define RC_DROP_ERROR       -1
  566.  
  567.       /*handle for files being tracked by the shell */
  568.  
  569.       typedef LHANDLE HFS;
  570.       #define MAXSZHFS 10       /* size of the translated string */
  571.  
  572.       #define SETTINGS_PAGE_REMOVED  -1
  573.  
  574.     /* wpSetConcurrentView values */
  575.       #define CCVIEW_DEFAULT 0
  576.       #define CCVIEW_ON      1
  577.       #define CCVIEW_OFF     2
  578.  
  579.     /* wpSetMinWindow values */
  580.       #define MINWIN_DEFAULT 0
  581.       #define MINWIN_HIDDEN  1
  582.       #define MINWIN_VIEWER  2
  583.       #define MINWIN_DESKTOP 3
  584.  
  585.     /* wpSetButtonAppearance values */
  586.       #define HIDEBUTTON      1
  587.       #define MINBUTTON      2
  588.       #define DEFAULTBUTTON  3
  589.  
  590.       #define  HIDDENMINWINDOW_DEFAULT MINWIN_VIEWER
  591.       #ifndef WPFolder
  592.       #ifndef SOM_WPFolder_xh
  593.         #define WPFolder WPObject
  594.       #endif
  595.       #endif
  596.  
  597.       typedef struct _TASKREC
  598.       {
  599.          struct _TASKREC *next;     /* next in the list of current tasks   */
  600.          ULONG            useCount; /* can be referenced by multiple object*/
  601.          PVOID            pStdDlg;  /* ptr to standard WP task dialog      */
  602.          WPFolder        *folder;   /* intended folder for the object      */
  603.          LONG             xOrigin;  /* intended position for the object    */
  604.          LONG             yOrigin;  /* intended position for the object    */
  605.          PSZ              pszTitle; /* intended name for the object        */
  606.          ULONG            cbTitle;  /* length of the name buffer           */
  607.          PMINIRECORDCORE  positionAfterRecord; /* intended sort position   */
  608.          BOOL            fKeepAssociations;
  609.          PVOID            pReserved;    /* reserved - equal null           */
  610.  
  611.       }  TASKREC;
  612.       typedef TASKREC *PTASKREC;
  613.  
  614.       typedef struct _OBJDETAILS
  615.       {
  616.         PSZ    ObjTitle;
  617.         ULONG  ObjStyle;
  618.         PSZ    ObjClass;
  619.       } OBJDETAILS;
  620.       typedef OBJDETAILS *POBJDETAILS;
  621.  
  622. #define VIEW_CONTENTS      0x00000001
  623. #define VIEW_SETTINGS      0x00000002
  624. #define VIEW_HELP          0x00000004
  625. #define VIEW_RUNNING       0x00000008
  626. #define VIEW_DETAILS       0x00000010
  627. #define VIEW_TREE          0x00000020
  628. #define VIEW_ANY           0xFFFFFFFF  /* Special case - will find any ViewItem */
  629.  
  630. /*
  631.  * Passthru some stuff to the .h file
  632.  */
  633.  
  634.  
  635. /* C++ SOM defs */
  636. #include <somcls.xh>
  637. #include <somcm.xh>
  638.  
  639. /* C++ parent defs */
  640. #ifndef SOM_SOMObject_xh
  641. #include <somobj.xh>
  642. #endif
  643.  
  644. #ifndef WPObject_API
  645. #define WPObject_API
  646. /*
  647.  * -- The Class API
  648.  */
  649.  
  650. /*
  651.  * Start of user-defined types:
  652.  */
  653. class SOMClass;
  654. class SOMObject;
  655. class WPFolder;
  656. class M_WPObject;
  657. class WPObject;
  658.  
  659. /*
  660.  * End of user-defined types.
  661.  */
  662.  
  663. /* A procedure to create the WPObject Class */
  664. class M_WPObject;
  665. SOMEXTERN M_WPObject * SOMLINK WPObjectNewClass(
  666.         integer4 majorVersion,
  667.         integer4 minorVersion);
  668.  
  669. /* The API to the WPObject class object, and the methods it introduces. */
  670. SOMEXTERN struct WPObjectClassDataStructure {
  671.     M_WPObject *classObject;
  672.     somMToken wpSetTitle;
  673.     somMToken wpQueryTitle;
  674.     somMToken wpSetStyle;
  675.     somMToken wpQueryStyle;
  676.     somMToken wpSetIcon;
  677.     somMToken wpQueryIcon;
  678.     somMToken wpSetFolder;
  679.     somMToken wpQueryFolder;
  680.     somMToken wpSetNextObj;
  681.     somMToken wpQueryNextObj;
  682.     somMToken wpSetDefaultView;
  683.     somMToken wpQueryDefaultView;
  684.     somMToken wpMakeDormant;
  685.     somMToken wpSaveState;
  686.     somMToken wpBeginSave;
  687.     somMToken wpEndSave;
  688.     somMToken wpSaveLong;
  689.     somMToken wpSaveString;
  690.     somMToken wpSaveData;
  691.     somMToken wpAppendSaveData;
  692.     somMToken wpRestoreState;
  693.     somMToken wpBeginRestore;
  694.     somMToken wpEndRestore;
  695.     somMToken wpRestoreLong;
  696.     somMToken wpRestoreString;
  697.     somMToken wpRestoreData;
  698.     somMToken wpExtractRestoreData;
  699.     somMToken wpAllocMem;
  700.     somMToken wpFreeMem;
  701.     somMToken wpAddToObjUseList;
  702.     somMToken wpDeleteFromObjUseList;
  703.     somMToken wpFindUseItem;
  704.     somMToken wpSwitchTo;
  705.     somMToken withdrawn1;
  706.     somMToken wpFilterPopupMenu;
  707.     somMToken wpModifyPopupMenu;
  708.     somMToken wpMenuItemSelected;
  709.     somMToken wpFormatDragItem;
  710.     somMToken wpDrop;
  711.     somMToken wpDragOver;
  712.     somMToken wpRender;
  713.     somMToken wpEndConversation;
  714.     somMToken withdrawn10;
  715.     somMToken wpMakeObject;
  716.     somMToken wpDestroyObject;
  717.     somMToken wpFree;
  718.     somMToken wpCopiedFromTemplate;
  719.     somMToken wpAddSettingsPages;
  720.     somMToken wpAddObjectGeneralPage;
  721.     somMToken wpDisplayHelp;
  722.     somMToken wpMenuItemHelpSelected;
  723.     somMToken wpInsertSettingsPage;
  724.     somMToken wpInsertPopupMenuItems;
  725.     somMToken withdrawn5;
  726.     somMToken withdrawn6;
  727.     somMToken withdrawn4;
  728.     somMToken withdrawn3;
  729.     somMToken wpCnrInsertObject;
  730.     somMToken wpCnrRemoveObject;
  731.     somMToken wpInitData;
  732.     somMToken wpUnInitData;
  733.     somMToken wpSetup;
  734.     somMToken wpScanSetupString;
  735.     somMToken wpSaveImmediate;
  736.     somMToken wpOpen;
  737.     somMToken wpClose;
  738.     somMToken wpHide;
  739.     somMToken wpRestore;
  740.     somMToken wpSetIconData;
  741.     somMToken wpQueryIconData;
  742.     somMToken wpQueryIconSaved;
  743.     somMToken wpDelete;
  744.     somMToken wpConfirmDelete;
  745.     somMToken withdrawn2;
  746.     somMToken withdrawn11;
  747.     somMToken withdrawn7;
  748.     somMToken wpRegisterView;
  749.     somMToken wpIdentify;
  750.     somMToken wpSetDefaultHelp;
  751.     somMToken wpQueryDefaultHelp;
  752.     somMToken wpDoesObjectMatch;
  753.     somMToken wpCnrRefreshDetails;
  754.     somMToken wpSetError;
  755.     somMToken wpQueryError;
  756.     somMToken wpDraggedOverObject;
  757.     somMToken wpDroppedOnObject;
  758.     somMToken wpSetDefaultIconPos;
  759.     somMToken wpQueryDefaultIconPos;
  760.     somMToken wpSetState;
  761.     somMToken wpQueryState;
  762.     somMToken wpSetObjectID;
  763.     somMToken wpQueryObjectID;
  764.     somMToken wpIsDeleteable;
  765.     somMToken wpQueryHandle;
  766.     somMToken wpSaveDeferred;
  767.     somMToken wpAddObjectWindowPage;
  768.     somMToken wpQueryConcurrentView;
  769.     somMToken wpSetConcurrentView;
  770.     somMToken wpQueryMinWindow;
  771.     somMToken wpSetMinWindow;
  772.     somMToken wpViewObject;
  773.     somMToken wpQueryButtonAppearance;
  774.     somMToken wpSetButtonAppearance;
  775.     somMToken wpQueryConfirmations;
  776.     somMToken wpCnrSetEmphasis;
  777.     somMToken wpQueryCoreRecord;
  778.     somMToken wpFindViewItem;
  779.     somMToken wpCreateFromTemplate;
  780.     somMToken wpQueryTrueStyle;
  781.     somMToken wpAssertObjectMutexSem;
  782.     somMToken wpReleaseObjectMutexSem;
  783.     somMToken wpRequestObjectMutexSem;
  784.     somMToken wpCreateAnother;
  785.     somMToken wpCreateShadowObject;
  786.     somMToken wpCopyObject;
  787.     somMToken wpMoveObject;
  788.     somMToken wpLockObject;
  789.     somMToken wpUnlockObject;
  790.     somMToken wpIsLocked;
  791.     somMToken wpRenderComplete;
  792.     somMToken wpQueryDetailsData;
  793.     somMToken wpPrintObject;
  794.     somMToken wpQueryTaskRec;
  795.     somMToken wpSetTaskRec;
  796.     somMToken wpSnoozeNotify;
  797.     somMToken wpModifyStyle;
  798.     somMToken wpSetInsertState;
  799.     somMToken wpFindTaskRec;
  800.     somMToken wpAppendObject;
  801.     somMToken wpReplaceObject;
  802.     somMToken wpQueryNameClashOptions;
  803.     somMToken wpConfirmObjectTitle;
  804.     somMToken _get_pobjNext;
  805.     somMToken wpQueryContainerFlagPtr;
  806.     somMToken wpAddWindowPosKey;
  807.     somMToken wpDeleteWindowPosKeys;
  808.     somMToken wpObjectInsertPreparation;
  809.     somMToken wpCnrDeleteUseItem;
  810.     somMToken wpObjectReady;
  811.     somMToken wpIsObjectInitialized;
  812.     somMToken wpCreateShadowObjectExt;
  813.     somMToken wpSetIconHandle;
  814.     somMToken wpQueryContainer;
  815.     somMToken wpSetContainer;
  816.     somMToken wpDisplayMenu;
  817.     somMToken wpWaitForClose;
  818.     somMToken wpQueryScreenGroupID;
  819.     somMToken wpSetupOnce;
  820.     somMToken wpAddObjectGeneralPage2;
  821.     somMToken wpFindTaskRec2;
  822.     somMToken wpModifyState;
  823. } SOMDLINK WPObjectClassData;
  824. #define _WPObject WPObjectClassData.classObject
  825.  
  826. /* The API to parentMtabs for WPObject, and the instance data it introduces. */
  827. SOMEXTERN struct WPObjectCClassDataStructure {
  828.     somMethodTabs parentMtab;
  829.     somDToken              instanceDataToken;
  830. } SOMDLINK WPObjectCClassData;
  831.  
  832. /*
  833.  * -- Typedefs for WPObject Method Procedures
  834.  */
  835. SOMEXTERN {
  836. typedef ULONG   (SOMLINK * somTD_WPObject_wpAddObjectGeneralPage)(WPObject *somSelf,
  837.         HWND hwndNotebook);
  838. typedef ULONG   (SOMLINK * somTD_WPObject_wpAddObjectGeneralPage2)(WPObject *somSelf,
  839.         HWND hwndNotebook);
  840. typedef ULONG   (SOMLINK * somTD_WPObject_wpAddObjectWindowPage)(WPObject *somSelf,
  841.         HWND hwndNotebook);
  842. typedef BOOL   (SOMLINK * somTD_WPObject_wpAddSettingsPages)(WPObject *somSelf,
  843.         HWND hwndNotebook);
  844. typedef BOOL   (SOMLINK * somTD_WPObject_wpAddToObjUseList)(WPObject *somSelf,
  845.         PUSEITEM pUseItem);
  846. typedef PBYTE   (SOMLINK * somTD_WPObject_wpAllocMem)(WPObject *somSelf,
  847.         ULONG cbBytes,
  848.         PULONG prc);
  849. typedef BOOL32   (SOMLINK * somTD_WPObject_wpAppendObject)(WPObject *somSelf,
  850.         WPObject* targetObject,
  851.         BOOL32 fMove);
  852. typedef BOOL   (SOMLINK * somTD_WPObject_wpAssertObjectMutexSem)(WPObject *somSelf);
  853. typedef BOOL   (SOMLINK * somTD_WPObject_wpClose)(WPObject *somSelf);
  854. typedef PMINIRECORDCORE   (SOMLINK * somTD_WPObject_wpCnrInsertObject)(WPObject *somSelf,
  855.         HWND hwndCnr,
  856.         PPOINTL pptlIcon,
  857.         PMINIRECORDCORE preccParent,
  858.         PRECORDINSERT pRecInsert);
  859. typedef BOOL   (SOMLINK * somTD_WPObject_wpCnrRemoveObject)(WPObject *somSelf,
  860.         HWND hwndCnr);
  861. typedef BOOL   (SOMLINK * somTD_WPObject_wpCnrSetEmphasis)(WPObject *somSelf,
  862.         ULONG ulEmphasisAttr,
  863.         BOOL fTurnOn);
  864. typedef ULONG   (SOMLINK * somTD_WPObject_wpConfirmDelete)(WPObject *somSelf,
  865.         ULONG fConfirmations);
  866. typedef ULONG   (SOMLINK * somTD_WPObject_wpConfirmObjectTitle)(WPObject *somSelf,
  867.         WPFolder* Folder,
  868.         WPObject** ppDuplicate,
  869.         PSZ pszTitle,
  870.         ULONG cbTitle,
  871.         ULONG menuID);
  872. typedef void   (SOMLINK * somTD_WPObject_wpCopiedFromTemplate)(WPObject *somSelf);
  873. typedef WPObject*   (SOMLINK * somTD_WPObject_wpCopyObject)(WPObject *somSelf,
  874.         WPFolder* Folder,
  875.         BOOL fLock);
  876. typedef WPObject*   (SOMLINK * somTD_WPObject_wpCreateAnother)(WPObject *somSelf,
  877.         PSZ pszTitle,
  878.         PSZ pszSetupEnv,
  879.         WPFolder* Folder);
  880. typedef WPObject*   (SOMLINK * somTD_WPObject_wpCreateFromTemplate)(WPObject *somSelf,
  881.         WPFolder* folder,
  882.         BOOL fLock);
  883. typedef WPObject*   (SOMLINK * somTD_WPObject_wpCreateShadowObject)(WPObject *somSelf,
  884.         WPFolder* Folder,
  885.         BOOL fLock);
  886. typedef ULONG   (SOMLINK * somTD_WPObject_wpDelete)(WPObject *somSelf,
  887.         ULONG fConfirmations);
  888. typedef BOOL   (SOMLINK * somTD_WPObject_wpDeleteFromObjUseList)(WPObject *somSelf,
  889.         PUSEITEM pUseItem);
  890. typedef BOOL   (SOMLINK * somTD_WPObject_wpDisplayHelp)(WPObject *somSelf,
  891.         ULONG HelpPanelId,
  892.         PSZ HelpLibrary);
  893. typedef HWND   (SOMLINK * somTD_WPObject_wpDisplayMenu)(WPObject *somSelf,
  894.         HWND hwndOwner,
  895.         HWND hwndClient,
  896.         POINTL* ptlPopupPt,
  897.         ULONG ulMenuType,
  898.         ULONG ulReserved);
  899. typedef BOOL   (SOMLINK * somTD_WPObject_wpDoesObjectMatch)(WPObject *somSelf,
  900.         PVOID pvoidExtendedCriteria);
  901. typedef MRESULT   (SOMLINK * somTD_WPObject_wpDraggedOverObject)(WPObject *somSelf,
  902.         WPObject* DraggedOverObject);
  903. typedef MRESULT   (SOMLINK * somTD_WPObject_wpDragOver)(WPObject *somSelf,
  904.         HWND hwndCnr,
  905.         PDRAGINFO pdrgInfo);
  906. typedef MRESULT   (SOMLINK * somTD_WPObject_wpDrop)(WPObject *somSelf,
  907.         HWND hwndCnr,
  908.         PDRAGINFO pdrgInfo,
  909.         PDRAGITEM pdrgItem);
  910. typedef BOOL   (SOMLINK * somTD_WPObject_wpDroppedOnObject)(WPObject *somSelf,
  911.         WPObject* DroppedOnObject);
  912. typedef MRESULT   (SOMLINK * somTD_WPObject_wpEndConversation)(WPObject *somSelf,
  913.         ULONG ulItemID,
  914.         ULONG flResult);
  915. typedef ULONG   (SOMLINK * somTD_WPObject_wpFilterPopupMenu)(WPObject *somSelf,
  916.         ULONG ulFlags,
  917.         HWND hwndCnr,
  918.         BOOL fMultiSelect);
  919. typedef PUSEITEM   (SOMLINK * somTD_WPObject_wpFindUseItem)(WPObject *somSelf,
  920.         ULONG type,
  921.         PUSEITEM pCurrentItem);
  922. typedef BOOL   (SOMLINK * somTD_WPObject_wpFormatDragItem)(WPObject *somSelf,
  923.         PDRAGITEM pdrgItem);
  924. typedef BOOL   (SOMLINK * somTD_WPObject_wpFree)(WPObject *somSelf);
  925. typedef BOOL   (SOMLINK * somTD_WPObject_wpFreeMem)(WPObject *somSelf,
  926.         PBYTE pByte);
  927. typedef BOOL   (SOMLINK * somTD_WPObject_wpHide)(WPObject *somSelf);
  928. typedef void   (SOMLINK * somTD_WPObject_wpInitData)(WPObject *somSelf);
  929. typedef BOOL   (SOMLINK * somTD_WPObject_wpInsertPopupMenuItems)(WPObject *somSelf,
  930.         HWND hwndMenu,
  931.         ULONG iPosition,
  932.         HMODULE hmod,
  933.         ULONG MenuID,
  934.         ULONG SubMenuID);
  935. typedef ULONG   (SOMLINK * somTD_WPObject_wpInsertSettingsPage)(WPObject *somSelf,
  936.         HWND hwndNotebook,
  937.         PPAGEINFO ppageinfo);
  938. typedef BOOL   (SOMLINK * somTD_WPObject_wpMenuItemHelpSelected)(WPObject *somSelf,
  939.         ULONG MenuId);
  940. typedef BOOL   (SOMLINK * somTD_WPObject_wpMenuItemSelected)(WPObject *somSelf,
  941.         HWND hwndFrame,
  942.         ULONG ulMenuId);
  943. typedef BOOL   (SOMLINK * somTD_WPObject_wpModifyPopupMenu)(WPObject *somSelf,
  944.         HWND hwndMenu,
  945.         HWND hwndCnr,
  946.         ULONG iPosition);
  947. typedef BOOL   (SOMLINK * somTD_WPObject_wpMoveObject)(WPObject *somSelf,
  948.         WPFolder* Folder);
  949. typedef HWND   (SOMLINK * somTD_WPObject_wpOpen)(WPObject *somSelf,
  950.         HWND hwndCnr,
  951.         ULONG ulView,
  952.         ULONG param);
  953. typedef BOOL   (SOMLINK * somTD_WPObject_wpPrintObject)(WPObject *somSelf,
  954.         PPRINTDEST pPrintDest,
  955.         ULONG ulReserved);
  956. typedef ULONG   (SOMLINK * somTD_WPObject_wpQueryConcurrentView)(WPObject *somSelf);
  957. typedef ULONG   (SOMLINK * somTD_WPObject_wpQueryButtonAppearance)(WPObject *somSelf);
  958. typedef ULONG   (SOMLINK * somTD_WPObject_wpQueryConfirmations)(WPObject *somSelf);
  959. typedef BOOL   (SOMLINK * somTD_WPObject_wpQueryDefaultHelp)(WPObject *somSelf,
  960.         PULONG pHelpPanelId,
  961.         PSZ HelpLibrary);
  962. typedef ULONG   (SOMLINK * somTD_WPObject_wpQueryDefaultView)(WPObject *somSelf);
  963. typedef ULONG   (SOMLINK * somTD_WPObject_wpQueryDetailsData)(WPObject *somSelf,
  964.         PVOID* ppDetailsData,
  965.         PULONG pcp);
  966. typedef ULONG   (SOMLINK * somTD_WPObject_wpQueryError)(WPObject *somSelf);
  967. typedef BOOL   (SOMLINK * somTD_WPObject_wpSetFolder)(WPObject *somSelf,
  968.         WPObject* container);
  969. typedef WPObject*   (SOMLINK * somTD_WPObject_wpQueryFolder)(WPObject *somSelf);
  970. typedef HPOINTER   (SOMLINK * somTD_WPObject_wpQueryIcon)(WPObject *somSelf);
  971. typedef ULONG   (SOMLINK * somTD_WPObject_wpQueryIconData)(WPObject *somSelf,
  972.         PICONINFO pIconInfo);
  973. typedef ULONG   (SOMLINK * somTD_WPObject_wpQueryMinWindow)(WPObject *somSelf);
  974. typedef ULONG   (SOMLINK * somTD_WPObject_wpQueryNameClashOptions)(WPObject *somSelf,
  975.         ULONG menuID);
  976. typedef ULONG   (SOMLINK * somTD_WPObject_wpQueryStyle)(WPObject *somSelf);
  977. typedef BOOL32   (SOMLINK * somTD_WPObject_wpSetTaskRec)(WPObject *somSelf,
  978.         PTASKREC pNew,
  979.         PTASKREC pOld);
  980. typedef PTASKREC   (SOMLINK * somTD_WPObject_wpFindTaskRec)(WPObject *somSelf);
  981. typedef PSZ   (SOMLINK * somTD_WPObject_wpQueryTitle)(WPObject *somSelf);
  982. typedef BOOL   (SOMLINK * somTD_WPObject_wpRegisterView)(WPObject *somSelf,
  983.         HWND hwndFrame,
  984.         PSZ pszViewTitle);
  985. typedef ULONG   (SOMLINK * somTD_WPObject_wpReleaseObjectMutexSem)(WPObject *somSelf);
  986. typedef MRESULT   (SOMLINK * somTD_WPObject_wpRender)(WPObject *somSelf,
  987.         PDRAGTRANSFER pdxfer);
  988. typedef MRESULT   (SOMLINK * somTD_WPObject_wpRenderComplete)(WPObject *somSelf,
  989.         PDRAGTRANSFER pdxfer,
  990.         ULONG ulResult);
  991. typedef BOOL32   (SOMLINK * somTD_WPObject_wpReplaceObject)(WPObject *somSelf,
  992.         WPObject* targetObject,
  993.         BOOL32 fMove);
  994. typedef ULONG   (SOMLINK * somTD_WPObject_wpRequestObjectMutexSem)(WPObject *somSelf,
  995.         ULONG ulTimeout);
  996. typedef BOOL   (SOMLINK * somTD_WPObject_wpRestore)(WPObject *somSelf);
  997. typedef BOOL   (SOMLINK * somTD_WPObject_wpRestoreData)(WPObject *somSelf,
  998.         PSZ pszClass,
  999.         ULONG ulKey,
  1000.         PBYTE pValue,
  1001.         PULONG pcbValue);
  1002. typedef BOOL   (SOMLINK * somTD_WPObject_wpRestoreLong)(WPObject *somSelf,
  1003.         PSZ pszClass,
  1004.         ULONG ulKey,
  1005.         PULONG pulValue);
  1006. typedef BOOL   (SOMLINK * somTD_WPObject_wpRestoreState)(WPObject *somSelf,
  1007.         ULONG ulReserved);
  1008. typedef BOOL   (SOMLINK * somTD_WPObject_wpRestoreString)(WPObject *somSelf,
  1009.         PSZ pszClass,
  1010.         ULONG ulKey,
  1011.         PSZ pszValue,
  1012.         PULONG pcbValue);
  1013. typedef BOOL   (SOMLINK * somTD_WPObject_wpSaveData)(WPObject *somSelf,
  1014.         PSZ pszClass,
  1015.         ULONG ulKey,
  1016.         PBYTE pValue,
  1017.         ULONG cbValue);
  1018. typedef BOOL   (SOMLINK * somTD_WPObject_wpSaveImmediate)(WPObject *somSelf);
  1019. typedef BOOL   (SOMLINK * somTD_WPObject_wpSaveDeferred)(WPObject *somSelf);
  1020. typedef BOOL   (SOMLINK * somTD_WPObject_wpSaveLong)(WPObject *somSelf,
  1021.         PSZ pszClass,
  1022.         ULONG ulKey,
  1023.         ULONG ulValue);
  1024. typedef BOOL   (SOMLINK * somTD_WPObject_wpSaveState)(WPObject *somSelf);
  1025. typedef BOOL   (SOMLINK * somTD_WPObject_wpSaveString)(WPObject *somSelf,
  1026.         PSZ pszClass,
  1027.         ULONG ulKey,
  1028.         PSZ pszValue);
  1029. typedef BOOL   (SOMLINK * somTD_WPObject_wpScanSetupString)(WPObject *somSelf,
  1030.         PSZ pszSetupString,
  1031.         PSZ pszKey,
  1032.         PSZ pszValue,
  1033.         PULONG pcbValue);
  1034. typedef void   (SOMLINK * somTD_WPObject_wpSetConcurrentView)(WPObject *somSelf,
  1035.         ULONG ulCCView);
  1036. typedef void   (SOMLINK * somTD_WPObject_wpSetButtonAppearance)(WPObject *somSelf,
  1037.         ULONG ulButtonType);
  1038. typedef BOOL   (SOMLINK * somTD_WPObject_wpSetDefaultHelp)(WPObject *somSelf,
  1039.         ULONG HelpPanelId,
  1040.         PSZ HelpLibrary);
  1041. typedef BOOL   (SOMLINK * somTD_WPObject_wpSetDefaultView)(WPObject *somSelf,
  1042.         ULONG ulView);
  1043. typedef BOOL   (SOMLINK * somTD_WPObject_wpSetError)(WPObject *somSelf,
  1044.         ULONG ulErrorId);
  1045. typedef BOOL   (SOMLINK * somTD_WPObject_wpSetIconHandle)(WPObject *somSelf,
  1046.         HPOINTER hptrNewIcon);
  1047. typedef USHORT   (SOMLINK * somTD_WPObject_wpQueryScreenGroupID)(WPObject *somSelf,
  1048.         USHORT usPrevSgId);
  1049. typedef BOOL   (SOMLINK * somTD_WPObject_wpSetupOnce)(WPObject *somSelf,
  1050.         PSZ pszSetupString);
  1051. typedef BOOL   (SOMLINK * somTD_WPObject_wpSetIcon)(WPObject *somSelf,
  1052.         HPOINTER hptrNewIcon);
  1053. typedef BOOL   (SOMLINK * somTD_WPObject_wpSetIconData)(WPObject *somSelf,
  1054.         PICONINFO pIconInfo);
  1055. typedef void   (SOMLINK * somTD_WPObject_wpSetMinWindow)(WPObject *somSelf,
  1056.         ULONG ulMinWindow);
  1057. typedef BOOL   (SOMLINK * somTD_WPObject_wpSetStyle)(WPObject *somSelf,
  1058.         ULONG ulNewStyle);
  1059. typedef BOOL   (SOMLINK * somTD_WPObject_wpModifyStyle)(WPObject *somSelf,
  1060.         ULONG ulStyleFlags,
  1061.         ULONG ulStyleMask);
  1062. typedef BOOL   (SOMLINK * somTD_WPObject_wpSetTitle)(WPObject *somSelf,
  1063.         PSZ pszNewTitle);
  1064. typedef BOOL   (SOMLINK * somTD_WPObject_wpSetup)(WPObject *somSelf,
  1065.         PSZ pszSetupString);
  1066. typedef BOOL   (SOMLINK * somTD_WPObject_wpSwitchTo)(WPObject *somSelf,
  1067.         ULONG View);
  1068. typedef void   (SOMLINK * somTD_WPObject_wpUnInitData)(WPObject *somSelf);
  1069. typedef HWND   (SOMLINK * somTD_WPObject_wpViewObject)(WPObject *somSelf,
  1070.         HWND hwndCnr,
  1071.         ULONG ulView,
  1072.         ULONG param);
  1073. typedef ULONG   (SOMLINK * somTD_WPObject_wpQueryTrueStyle)(WPObject *somSelf);
  1074. typedef HOBJECT   (SOMLINK * somTD_WPObject_wpQueryHandle)(WPObject *somSelf);
  1075. typedef BOOL   (SOMLINK * somTD_WPObject_wpUnlockObject)(WPObject *somSelf);
  1076. typedef void   (SOMLINK * somTD_WPObject_wpObjectReady)(WPObject *somSelf,
  1077.         ULONG ulCode,
  1078.         WPObject* refObject);
  1079. typedef BOOL   (SOMLINK * somTD_WPObject_wpIsObjectInitialized)(WPObject *somSelf);
  1080. typedef WPObject*   (SOMLINK * somTD_WPObject_wpCreateShadowObjectExt)(WPObject *somSelf,
  1081.         WPFolder* Folder,
  1082.         BOOL fLock,
  1083.         PSZ pszSetup,
  1084.         M_WPObject* shadowClass);
  1085. typedef BOOL   (SOMLINK * somTD_WPObject_wpCnrDeleteUseItem)(WPObject *somSelf,
  1086.         HWND hwndCnr);
  1087. typedef BOOL   (SOMLINK * somTD_WPObject_wpIsDeleteable)(WPObject *somSelf);
  1088. typedef PMINIRECORDCORE   (SOMLINK * somTD_WPObject_wpQueryCoreRecord)(WPObject *somSelf);
  1089. typedef BOOL   (SOMLINK * somTD_WPObject_wpSetObjectID)(WPObject *somSelf,
  1090.         PSZ pszObjectID);
  1091. typedef PSZ   (SOMLINK * somTD_WPObject_wpQueryObjectID)(WPObject *somSelf);
  1092. typedef BOOL   (SOMLINK * somTD_WPObject_wpSetDefaultIconPos)(WPObject *somSelf,
  1093.         PPOINTL pPointl);
  1094. typedef BOOL   (SOMLINK * somTD_WPObject_wpQueryDefaultIconPos)(WPObject *somSelf,
  1095.         PPOINTL pPointl);
  1096. typedef void   (SOMLINK * somTD_WPObject_wpCnrRefreshDetails)(WPObject *somSelf);
  1097. typedef PVIEWITEM   (SOMLINK * somTD_WPObject_wpFindViewItem)(WPObject *somSelf,
  1098.         ULONG flViews,
  1099.         PVIEWITEM pCurrentItem);
  1100. typedef void   (SOMLINK * somTD_WPObject_wpLockObject)(WPObject *somSelf);
  1101. typedef BOOL   (SOMLINK * somTD_WPObject_wpIsLocked)(WPObject *somSelf);
  1102. typedef PULONG   (SOMLINK * somTD_WPObject_wpQueryContainerFlagPtr)(WPObject *somSelf);
  1103. typedef ULONG   (SOMLINK * somTD_WPObject_wpWaitForClose)(WPObject *somSelf,
  1104.         LHANDLE lhView,
  1105.         ULONG ulViews,
  1106.         long lTimeOut,
  1107.         BOOL bAutoClose);
  1108.  
  1109. /*
  1110.  * -- Typedefs for Reintroduced Wrapper Methods
  1111.  */
  1112. typedef void   (SOMLINK * somTD_WPObject_somDefaultInit)(WPObject *somSelf,
  1113.         somInitCtrl* ctrl);
  1114. typedef void   (SOMLINK * somTD_WPObject_somDestruct)(WPObject *somSelf,
  1115.         octet doFree,
  1116.         somDestructCtrl* ctrl);
  1117. typedef void   (SOMLINK * somTD_WPObject_somDefaultCopyInit)(WPObject *somSelf,
  1118.         somInitCtrl* ctrl,
  1119.         SOMObject* fromObj);
  1120. typedef WPObject*   (SOMLINK * somTD_WPObject_somDefaultAssign)(WPObject *somSelf,
  1121.         somAssignCtrl* ctrl,
  1122.         SOMObject* fromObj);
  1123. typedef void   (SOMLINK * somTD_WPObject_somDefaultConstCopyInit)(WPObject *somSelf,
  1124.         somInitCtrl* ctrl,
  1125.         SOMObject* fromObj);
  1126. typedef void   (SOMLINK * somTD_WPObject_somDefaultVCopyInit)(WPObject *somSelf,
  1127.         somInitCtrl* ctrl,
  1128.         SOMObject* fromObj);
  1129. typedef void   (SOMLINK * somTD_WPObject_somDefaultConstVCopyInit)(WPObject *somSelf,
  1130.         somInitCtrl* ctrl,
  1131.         SOMObject* fromObj);
  1132. typedef WPObject*   (SOMLINK * somTD_WPObject_somDefaultConstAssign)(WPObject *somSelf,
  1133.         somAssignCtrl* ctrl,
  1134.         SOMObject* fromObj);
  1135. typedef WPObject*   (SOMLINK * somTD_WPObject_somDefaultVAssign)(WPObject *somSelf,
  1136.         somAssignCtrl* ctrl,
  1137.         SOMObject* fromObj);
  1138. typedef WPObject*   (SOMLINK * somTD_WPObject_somDefaultConstVAssign)(WPObject *somSelf,
  1139.         somAssignCtrl* ctrl,
  1140.         SOMObject* fromObj);
  1141. typedef void   (SOMLINK * somTD_WPObject_somInit)(WPObject *somSelf);
  1142. typedef void   (SOMLINK * somTD_WPObject_somFree)(WPObject *somSelf);
  1143. typedef void   (SOMLINK * somTD_WPObject_somUninit)(WPObject *somSelf);
  1144. typedef M_WPObject*   (SOMLINK * somTD_WPObject_somGetClass)(WPObject *somSelf);
  1145. typedef string   (SOMLINK * somTD_WPObject_somGetClassName)(WPObject *somSelf);
  1146. typedef long   (SOMLINK * somTD_WPObject_somGetSize)(WPObject *somSelf);
  1147. typedef boolean   (SOMLINK * somTD_WPObject_somIsA)(WPObject *somSelf,
  1148.         SOMClass* aClassObj);
  1149. typedef boolean   (SOMLINK * somTD_WPObject_somIsInstanceOf)(WPObject *somSelf,
  1150.         SOMClass* aClassObj);
  1151. typedef boolean   (SOMLINK * somTD_WPObject_somRespondsTo)(WPObject *somSelf,
  1152.         somId mId);
  1153. typedef boolean   (SOMLINK * somTD_WPObject_somDispatch)(WPObject *somSelf,
  1154.         somToken* retValue,
  1155.         somId methodId,
  1156.         va_list ap);
  1157. typedef boolean   (SOMLINK * somTD_WPObject_somClassDispatch)(WPObject *somSelf,
  1158.         SOMClass* clsObj,
  1159.         somToken* retValue,
  1160.         somId methodId,
  1161.         va_list ap);
  1162. typedef boolean   (SOMLINK * somTD_WPObject_somCastObj)(WPObject *somSelf,
  1163.         SOMClass* cls);
  1164. typedef boolean   (SOMLINK * somTD_WPObject_somResetObj)(WPObject *somSelf);
  1165. typedef void   (SOMLINK * somTD_WPObject_somDispatchV)(WPObject *somSelf,
  1166.         somId methodId,
  1167.         somId descriptor,
  1168.         va_list ap);
  1169. typedef long   (SOMLINK * somTD_WPObject_somDispatchL)(WPObject *somSelf,
  1170.         somId methodId,
  1171.         somId descriptor,
  1172.         va_list ap);
  1173. typedef void*   (SOMLINK * somTD_WPObject_somDispatchA)(WPObject *somSelf,
  1174.         somId methodId,
  1175.         somId descriptor,
  1176.         va_list ap);
  1177. typedef double   (SOMLINK * somTD_WPObject_somDispatchD)(WPObject *somSelf,
  1178.         somId methodId,
  1179.         somId descriptor,
  1180.         va_list ap);
  1181. typedef SOMObject*   (SOMLINK * somTD_WPObject_somPrintSelf)(WPObject *somSelf);
  1182. typedef void   (SOMLINK * somTD_WPObject_somDumpSelf)(WPObject *somSelf,
  1183.         long level);
  1184. typedef void   (SOMLINK * somTD_WPObject_somDumpSelfInt)(WPObject *somSelf,
  1185.         long level);
  1186. }
  1187.  
  1188. #endif /* WPObject_API */
  1189.  
  1190.  
  1191. /*
  1192.  * -- This emitter treats Method Tokens as Thunks by default.
  1193.  * -- Use the sc modifier "nothunks" to change this default
  1194.  */
  1195. #undef somresolve_
  1196. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  1197.  
  1198. /*
  1199.  * -- The C++ Wrapper Class for WPObject
  1200.  */
  1201. class WPObject : public SOMObject
  1202. {
  1203. public:
  1204.  
  1205. // WPObject::new creates the class object if necessary, and then uses somNewNoInit
  1206. // to allocate memory and create the object. Initialization is in ctors.
  1207. void *operator new(size_t size)
  1208. {
  1209.    SOM_IgnoreWarning(size);
  1210.    if (!_WPObject) WPObjectNewClass(WPObject_MajorVersion,WPObject_MinorVersion);
  1211.    return (void*)
  1212.       SOM_Resolve(_WPObject,SOMClass,somNewNoInit)
  1213.          ((SOMClass *)((void*)_WPObject));
  1214. }
  1215.  
  1216. // WPObject::delete uses the default deallocator for the object's class.
  1217. void operator delete(void * obj)
  1218. {
  1219.    somToken objCls = obj ? *(void**)obj : (somToken) NULL;
  1220.    if (somIsObj(objCls)) {
  1221.       SOM_Resolve(objCls,SOMClass,somDeallocate)
  1222.          ((SOMClass*)objCls, (string)obj);
  1223.    }
  1224. }
  1225.  
  1226. WPObject()
  1227. {
  1228.    if (*(void**)this != 
  1229.        ((somParentMtabStructPtr)
  1230.         (WPObjectCClassData.parentMtab))->mtab)
  1231.       return;
  1232.    somDefaultInit(0);
  1233. }
  1234.  
  1235. WPObject(WPObject* fromObj)
  1236. {
  1237.    if (*(void**)this != 
  1238.        ((somParentMtabStructPtr)
  1239.         (WPObjectCClassData.parentMtab))->mtab)
  1240.       return;
  1241.    somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  1242. }
  1243.  
  1244. WPObject(const WPObject* fromObj)
  1245. {
  1246.    if (*(void**)this != 
  1247.        ((somParentMtabStructPtr)
  1248.         (WPObjectCClassData.parentMtab))->mtab)
  1249.       return;
  1250.    somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  1251. }
  1252.  
  1253. ~WPObject()
  1254. {
  1255.    if (!somIsObj(this)) return;
  1256.    somDestruct(0,0);
  1257.    *(void**)this = **(void***)this;
  1258. }
  1259.  
  1260.  
  1261. /* method: wpAddObjectGeneralPage */
  1262. ULONG   wpAddObjectGeneralPage(HWND hwndNotebook)
  1263. {
  1264.    return SOM_ResolveD(this,WPObject,WPObject,wpAddObjectGeneralPage)
  1265.     (this,hwndNotebook);
  1266. }
  1267.  
  1268.  
  1269. /* method: wpAddObjectGeneralPage2 */
  1270. ULONG   wpAddObjectGeneralPage2(HWND hwndNotebook)
  1271. {
  1272.    return SOM_ResolveD(this,WPObject,WPObject,wpAddObjectGeneralPage2)
  1273.     (this,hwndNotebook);
  1274. }
  1275.  
  1276.  
  1277. /* method: wpAddObjectWindowPage */
  1278. ULONG   wpAddObjectWindowPage(HWND hwndNotebook)
  1279. {
  1280.    return SOM_ResolveD(this,WPObject,WPObject,wpAddObjectWindowPage)
  1281.     (this,hwndNotebook);
  1282. }
  1283.  
  1284.  
  1285. /* method: wpAddSettingsPages */
  1286. BOOL   wpAddSettingsPages(HWND hwndNotebook)
  1287. {
  1288.    return SOM_ResolveD(this,WPObject,WPObject,wpAddSettingsPages)
  1289.     (this,hwndNotebook);
  1290. }
  1291.  
  1292.  
  1293. /* method: wpAddToObjUseList */
  1294. BOOL   wpAddToObjUseList(PUSEITEM pUseItem)
  1295. {
  1296.    return SOM_ResolveD(this,WPObject,WPObject,wpAddToObjUseList)
  1297.     (this,pUseItem);
  1298. }
  1299.  
  1300.  
  1301. /* method: wpAllocMem */
  1302. PBYTE   wpAllocMem(ULONG cbBytes,
  1303.         PULONG prc)
  1304. {
  1305.    return SOM_ResolveD(this,WPObject,WPObject,wpAllocMem)
  1306.     (this,cbBytes,prc);
  1307. }
  1308.  
  1309.  
  1310. /* method: wpAppendObject */
  1311. BOOL32   wpAppendObject(WPObject* targetObject,
  1312.         BOOL32 fMove)
  1313. {
  1314.    return SOM_ResolveD(this,WPObject,WPObject,wpAppendObject)
  1315.     (this,targetObject,fMove);
  1316. }
  1317.  
  1318.  
  1319. /* method: wpAssertObjectMutexSem */
  1320. BOOL   wpAssertObjectMutexSem()
  1321. {
  1322.    return SOM_ResolveD(this,WPObject,WPObject,wpAssertObjectMutexSem)
  1323.     (this);
  1324. }
  1325.  
  1326.  
  1327. /* method: wpClose */
  1328. BOOL   wpClose()
  1329. {
  1330.    return SOM_ResolveD(this,WPObject,WPObject,wpClose)
  1331.     (this);
  1332. }
  1333.  
  1334.  
  1335. /* method: wpCnrInsertObject */
  1336. PMINIRECORDCORE   wpCnrInsertObject(HWND hwndCnr,
  1337.         PPOINTL pptlIcon,
  1338.         PMINIRECORDCORE preccParent,
  1339.         PRECORDINSERT pRecInsert)
  1340. {
  1341.    return SOM_ResolveD(this,WPObject,WPObject,wpCnrInsertObject)
  1342.     (this,hwndCnr,pptlIcon,preccParent,pRecInsert);
  1343. }
  1344.  
  1345.  
  1346. /* method: wpCnrRemoveObject */
  1347. BOOL   wpCnrRemoveObject(HWND hwndCnr)
  1348. {
  1349.    return SOM_ResolveD(this,WPObject,WPObject,wpCnrRemoveObject)
  1350.     (this,hwndCnr);
  1351. }
  1352.  
  1353.  
  1354. /* method: wpCnrSetEmphasis */
  1355. BOOL   wpCnrSetEmphasis(ULONG ulEmphasisAttr,
  1356.         BOOL fTurnOn)
  1357. {
  1358.    return SOM_ResolveD(this,WPObject,WPObject,wpCnrSetEmphasis)
  1359.     (this,ulEmphasisAttr,fTurnOn);
  1360. }
  1361.  
  1362.  
  1363. /* method: wpConfirmDelete */
  1364. ULONG   wpConfirmDelete(ULONG fConfirmations)
  1365. {
  1366.    return SOM_ResolveD(this,WPObject,WPObject,wpConfirmDelete)
  1367.     (this,fConfirmations);
  1368. }
  1369.  
  1370.  
  1371. /* method: wpConfirmObjectTitle */
  1372. ULONG   wpConfirmObjectTitle(WPFolder* Folder,
  1373.         WPObject** ppDuplicate,
  1374.         PSZ pszTitle,
  1375.         ULONG cbTitle,
  1376.         ULONG menuID)
  1377. {
  1378.    return SOM_ResolveD(this,WPObject,WPObject,wpConfirmObjectTitle)
  1379.     (this,Folder,ppDuplicate,pszTitle,cbTitle,menuID);
  1380. }
  1381.  
  1382.  
  1383. /* method: wpCopiedFromTemplate */
  1384. void   wpCopiedFromTemplate()
  1385. {
  1386.    SOM_ResolveD(this,WPObject,WPObject,wpCopiedFromTemplate)
  1387.     (this);
  1388. }
  1389.  
  1390.  
  1391. /* method: wpCopyObject */
  1392. WPObject*   wpCopyObject(WPFolder* Folder,
  1393.         BOOL fLock)
  1394. {
  1395.    return SOM_ResolveD(this,WPObject,WPObject,wpCopyObject)
  1396.     (this,Folder,fLock);
  1397. }
  1398.  
  1399.  
  1400. /* method: wpCreateAnother */
  1401. WPObject*   wpCreateAnother(PSZ pszTitle,
  1402.         PSZ pszSetupEnv,
  1403.         WPFolder* Folder)
  1404. {
  1405.    return SOM_ResolveD(this,WPObject,WPObject,wpCreateAnother)
  1406.     (this,pszTitle,pszSetupEnv,Folder);
  1407. }
  1408.  
  1409.  
  1410. /* method: wpCreateFromTemplate */
  1411. WPObject*   wpCreateFromTemplate(WPFolder* folder,
  1412.         BOOL fLock)
  1413. {
  1414.    return SOM_ResolveD(this,WPObject,WPObject,wpCreateFromTemplate)
  1415.     (this,folder,fLock);
  1416. }
  1417.  
  1418.  
  1419. /* method: wpCreateShadowObject */
  1420. WPObject*   wpCreateShadowObject(WPFolder* Folder,
  1421.         BOOL fLock)
  1422. {
  1423.    return SOM_ResolveD(this,WPObject,WPObject,wpCreateShadowObject)
  1424.     (this,Folder,fLock);
  1425. }
  1426.  
  1427.  
  1428. /* method: wpDelete */
  1429. ULONG   wpDelete(ULONG fConfirmations)
  1430. {
  1431.    return SOM_ResolveD(this,WPObject,WPObject,wpDelete)
  1432.     (this,fConfirmations);
  1433. }
  1434.  
  1435.  
  1436. /* method: wpDeleteFromObjUseList */
  1437. BOOL   wpDeleteFromObjUseList(PUSEITEM pUseItem)
  1438. {
  1439.    return SOM_ResolveD(this,WPObject,WPObject,wpDeleteFromObjUseList)
  1440.     (this,pUseItem);
  1441. }
  1442.  
  1443.  
  1444. /* method: wpDisplayHelp */
  1445. BOOL   wpDisplayHelp(ULONG HelpPanelId,
  1446.         PSZ HelpLibrary)
  1447. {
  1448.    return SOM_ResolveD(this,WPObject,WPObject,wpDisplayHelp)
  1449.     (this,HelpPanelId,HelpLibrary);
  1450. }
  1451.  
  1452.  
  1453. /* method: wpDisplayMenu */
  1454. HWND   wpDisplayMenu(HWND hwndOwner,
  1455.         HWND hwndClient,
  1456.         POINTL* ptlPopupPt,
  1457.         ULONG ulMenuType,
  1458.         ULONG ulReserved)
  1459. {
  1460.    return SOM_ResolveD(this,WPObject,WPObject,wpDisplayMenu)
  1461.     (this,hwndOwner,hwndClient,ptlPopupPt,ulMenuType,ulReserved);
  1462. }
  1463.  
  1464.  
  1465. /* method: wpDoesObjectMatch */
  1466. BOOL   wpDoesObjectMatch(PVOID pvoidExtendedCriteria)
  1467. {
  1468.    return SOM_ResolveD(this,WPObject,WPObject,wpDoesObjectMatch)
  1469.     (this,pvoidExtendedCriteria);
  1470. }
  1471.  
  1472.  
  1473. /* method: wpDraggedOverObject */
  1474. MRESULT   wpDraggedOverObject(WPObject* DraggedOverObject)
  1475. {
  1476.    return SOM_ResolveD(this,WPObject,WPObject,wpDraggedOverObject)
  1477.     (this,DraggedOverObject);
  1478. }
  1479.  
  1480.  
  1481. /* method: wpDragOver */
  1482. MRESULT   wpDragOver(HWND hwndCnr,
  1483.         PDRAGINFO pdrgInfo)
  1484. {
  1485.    return SOM_ResolveD(this,WPObject,WPObject,wpDragOver)
  1486.     (this,hwndCnr,pdrgInfo);
  1487. }
  1488.  
  1489.  
  1490. /* method: wpDrop */
  1491. MRESULT   wpDrop(HWND hwndCnr,
  1492.         PDRAGINFO pdrgInfo,
  1493.         PDRAGITEM pdrgItem)
  1494. {
  1495.    return SOM_ResolveD(this,WPObject,WPObject,wpDrop)
  1496.     (this,hwndCnr,pdrgInfo,pdrgItem);
  1497. }
  1498.  
  1499.  
  1500. /* method: wpDroppedOnObject */
  1501. BOOL   wpDroppedOnObject(WPObject* DroppedOnObject)
  1502. {
  1503.    return SOM_ResolveD(this,WPObject,WPObject,wpDroppedOnObject)
  1504.     (this,DroppedOnObject);
  1505. }
  1506.  
  1507.  
  1508. /* method: wpEndConversation */
  1509. MRESULT   wpEndConversation(ULONG ulItemID,
  1510.         ULONG flResult)
  1511. {
  1512.    return SOM_ResolveD(this,WPObject,WPObject,wpEndConversation)
  1513.     (this,ulItemID,flResult);
  1514. }
  1515.  
  1516.  
  1517. /* method: wpFilterPopupMenu */
  1518. ULONG   wpFilterPopupMenu(ULONG ulFlags,
  1519.         HWND hwndCnr,
  1520.         BOOL fMultiSelect)
  1521. {
  1522.    return SOM_ResolveD(this,WPObject,WPObject,wpFilterPopupMenu)
  1523.     (this,ulFlags,hwndCnr,fMultiSelect);
  1524. }
  1525.  
  1526.  
  1527. /* method: wpFindUseItem */
  1528. PUSEITEM   wpFindUseItem(ULONG type,
  1529.         PUSEITEM pCurrentItem)
  1530. {
  1531.    return SOM_ResolveD(this,WPObject,WPObject,wpFindUseItem)
  1532.     (this,type,pCurrentItem);
  1533. }
  1534.  
  1535.  
  1536. /* method: wpFormatDragItem */
  1537. BOOL   wpFormatDragItem(PDRAGITEM pdrgItem)
  1538. {
  1539.    return SOM_ResolveD(this,WPObject,WPObject,wpFormatDragItem)
  1540.     (this,pdrgItem);
  1541. }
  1542.  
  1543.  
  1544. /* method: wpFree */
  1545. BOOL   wpFree()
  1546. {
  1547.    return SOM_ResolveD(this,WPObject,WPObject,wpFree)
  1548.     (this);
  1549. }
  1550.  
  1551.  
  1552. /* method: wpFreeMem */
  1553. BOOL   wpFreeMem(PBYTE pByte)
  1554. {
  1555.    return SOM_ResolveD(this,WPObject,WPObject,wpFreeMem)
  1556.     (this,pByte);
  1557. }
  1558.  
  1559.  
  1560. /* method: wpHide */
  1561. BOOL   wpHide()
  1562. {
  1563.    return SOM_ResolveD(this,WPObject,WPObject,wpHide)
  1564.     (this);
  1565. }
  1566.  
  1567.  
  1568. /* method: wpInitData */
  1569. void   wpInitData()
  1570. {
  1571.    SOM_ResolveD(this,WPObject,WPObject,wpInitData)
  1572.     (this);
  1573. }
  1574.  
  1575.  
  1576. /* method: wpInsertPopupMenuItems */
  1577. BOOL   wpInsertPopupMenuItems(HWND hwndMenu,
  1578.         ULONG iPosition,
  1579.         HMODULE hmod,
  1580.         ULONG MenuID,
  1581.         ULONG SubMenuID)
  1582. {
  1583.    return SOM_ResolveD(this,WPObject,WPObject,wpInsertPopupMenuItems)
  1584.     (this,hwndMenu,iPosition,hmod,MenuID,SubMenuID);
  1585. }
  1586.  
  1587.  
  1588. /* method: wpInsertSettingsPage */
  1589. ULONG   wpInsertSettingsPage(HWND hwndNotebook,
  1590.         PPAGEINFO ppageinfo)
  1591. {
  1592.    return SOM_ResolveD(this,WPObject,WPObject,wpInsertSettingsPage)
  1593.     (this,hwndNotebook,ppageinfo);
  1594. }
  1595.  
  1596.  
  1597. /* method: wpMenuItemHelpSelected */
  1598. BOOL   wpMenuItemHelpSelected(ULONG MenuId)
  1599. {
  1600.    return SOM_ResolveD(this,WPObject,WPObject,wpMenuItemHelpSelected)
  1601.     (this,MenuId);
  1602. }
  1603.  
  1604.  
  1605. /* method: wpMenuItemSelected */
  1606. BOOL   wpMenuItemSelected(HWND hwndFrame,
  1607.         ULONG ulMenuId)
  1608. {
  1609.    return SOM_ResolveD(this,WPObject,WPObject,wpMenuItemSelected)
  1610.     (this,hwndFrame,ulMenuId);
  1611. }
  1612.  
  1613.  
  1614. /* method: wpModifyPopupMenu */
  1615. BOOL   wpModifyPopupMenu(HWND hwndMenu,
  1616.         HWND hwndCnr,
  1617.         ULONG iPosition)
  1618. {
  1619.    return SOM_ResolveD(this,WPObject,WPObject,wpModifyPopupMenu)
  1620.     (this,hwndMenu,hwndCnr,iPosition);
  1621. }
  1622.  
  1623.  
  1624. /* method: wpMoveObject */
  1625. BOOL   wpMoveObject(WPFolder* Folder)
  1626. {
  1627.    return SOM_ResolveD(this,WPObject,WPObject,wpMoveObject)
  1628.     (this,Folder);
  1629. }
  1630.  
  1631.  
  1632. /* method: wpOpen */
  1633. HWND   wpOpen(HWND hwndCnr,
  1634.         ULONG ulView,
  1635.         ULONG param)
  1636. {
  1637.    return SOM_ResolveD(this,WPObject,WPObject,wpOpen)
  1638.     (this,hwndCnr,ulView,param);
  1639. }
  1640.  
  1641.  
  1642. /* method: wpPrintObject */
  1643. BOOL   wpPrintObject(PPRINTDEST pPrintDest,
  1644.         ULONG ulReserved)
  1645. {
  1646.    return SOM_ResolveD(this,WPObject,WPObject,wpPrintObject)
  1647.     (this,pPrintDest,ulReserved);
  1648. }
  1649.  
  1650.  
  1651. /* method: wpQueryConcurrentView */
  1652. ULONG   wpQueryConcurrentView()
  1653. {
  1654.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryConcurrentView)
  1655.     (this);
  1656. }
  1657.  
  1658.  
  1659. /* method: wpQueryButtonAppearance */
  1660. ULONG   wpQueryButtonAppearance()
  1661. {
  1662.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryButtonAppearance)
  1663.     (this);
  1664. }
  1665.  
  1666.  
  1667. /* method: wpQueryConfirmations */
  1668. ULONG   wpQueryConfirmations()
  1669. {
  1670.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryConfirmations)
  1671.     (this);
  1672. }
  1673.  
  1674.  
  1675. /* method: wpQueryDefaultHelp */
  1676. BOOL   wpQueryDefaultHelp(PULONG pHelpPanelId,
  1677.         PSZ HelpLibrary)
  1678. {
  1679.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryDefaultHelp)
  1680.     (this,pHelpPanelId,HelpLibrary);
  1681. }
  1682.  
  1683.  
  1684. /* method: wpQueryDefaultView */
  1685. ULONG   wpQueryDefaultView()
  1686. {
  1687.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryDefaultView)
  1688.     (this);
  1689. }
  1690.  
  1691.  
  1692. /* method: wpQueryDetailsData */
  1693. ULONG   wpQueryDetailsData(PVOID* ppDetailsData,
  1694.         PULONG pcp)
  1695. {
  1696.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryDetailsData)
  1697.     (this,ppDetailsData,pcp);
  1698. }
  1699.  
  1700.  
  1701. /* method: wpQueryError */
  1702. ULONG   wpQueryError()
  1703. {
  1704.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryError)
  1705.     (this);
  1706. }
  1707.  
  1708.  
  1709. /* method: wpSetFolder */
  1710. BOOL   wpSetFolder(WPObject* container)
  1711. {
  1712.    return SOM_ResolveD(this,WPObject,WPObject,wpSetFolder)
  1713.     (this,container);
  1714. }
  1715.  
  1716.  
  1717. /* method: wpQueryFolder */
  1718. WPObject*   wpQueryFolder()
  1719. {
  1720.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryFolder)
  1721.     (this);
  1722. }
  1723.  
  1724.  
  1725. /* method: wpQueryIcon */
  1726. HPOINTER   wpQueryIcon()
  1727. {
  1728.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryIcon)
  1729.     (this);
  1730. }
  1731.  
  1732.  
  1733. /* method: wpQueryIconData */
  1734. ULONG   wpQueryIconData(PICONINFO pIconInfo)
  1735. {
  1736.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryIconData)
  1737.     (this,pIconInfo);
  1738. }
  1739.  
  1740.  
  1741. /* method: wpQueryMinWindow */
  1742. ULONG   wpQueryMinWindow()
  1743. {
  1744.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryMinWindow)
  1745.     (this);
  1746. }
  1747.  
  1748.  
  1749. /* method: wpQueryNameClashOptions */
  1750. ULONG   wpQueryNameClashOptions(ULONG menuID)
  1751. {
  1752.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryNameClashOptions)
  1753.     (this,menuID);
  1754. }
  1755.  
  1756.  
  1757. /* method: wpQueryStyle */
  1758. ULONG   wpQueryStyle()
  1759. {
  1760.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryStyle)
  1761.     (this);
  1762. }
  1763.  
  1764.  
  1765. /* method: wpSetTaskRec */
  1766. BOOL32   wpSetTaskRec(PTASKREC pNew,
  1767.         PTASKREC pOld)
  1768. {
  1769.    return SOM_ResolveD(this,WPObject,WPObject,wpSetTaskRec)
  1770.     (this,pNew,pOld);
  1771. }
  1772.  
  1773.  
  1774. /* method: wpFindTaskRec */
  1775. PTASKREC   wpFindTaskRec()
  1776. {
  1777.    return SOM_ResolveD(this,WPObject,WPObject,wpFindTaskRec)
  1778.     (this);
  1779. }
  1780.  
  1781.  
  1782. /* method: wpQueryTitle */
  1783. PSZ   wpQueryTitle()
  1784. {
  1785.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryTitle)
  1786.     (this);
  1787. }
  1788.  
  1789.  
  1790. /* method: wpRegisterView */
  1791. BOOL   wpRegisterView(HWND hwndFrame,
  1792.         PSZ pszViewTitle)
  1793. {
  1794.    return SOM_ResolveD(this,WPObject,WPObject,wpRegisterView)
  1795.     (this,hwndFrame,pszViewTitle);
  1796. }
  1797.  
  1798.  
  1799. /* method: wpReleaseObjectMutexSem */
  1800. ULONG   wpReleaseObjectMutexSem()
  1801. {
  1802.    return SOM_ResolveD(this,WPObject,WPObject,wpReleaseObjectMutexSem)
  1803.     (this);
  1804. }
  1805.  
  1806.  
  1807. /* method: wpRender */
  1808. MRESULT   wpRender(PDRAGTRANSFER pdxfer)
  1809. {
  1810.    return SOM_ResolveD(this,WPObject,WPObject,wpRender)
  1811.     (this,pdxfer);
  1812. }
  1813.  
  1814.  
  1815. /* method: wpRenderComplete */
  1816. MRESULT   wpRenderComplete(PDRAGTRANSFER pdxfer,
  1817.         ULONG ulResult)
  1818. {
  1819.    return SOM_ResolveD(this,WPObject,WPObject,wpRenderComplete)
  1820.     (this,pdxfer,ulResult);
  1821. }
  1822.  
  1823.  
  1824. /* method: wpReplaceObject */
  1825. BOOL32   wpReplaceObject(WPObject* targetObject,
  1826.         BOOL32 fMove)
  1827. {
  1828.    return SOM_ResolveD(this,WPObject,WPObject,wpReplaceObject)
  1829.     (this,targetObject,fMove);
  1830. }
  1831.  
  1832.  
  1833. /* method: wpRequestObjectMutexSem */
  1834. ULONG   wpRequestObjectMutexSem(ULONG ulTimeout)
  1835. {
  1836.    return SOM_ResolveD(this,WPObject,WPObject,wpRequestObjectMutexSem)
  1837.     (this,ulTimeout);
  1838. }
  1839.  
  1840.  
  1841. /* method: wpRestore */
  1842. BOOL   wpRestore()
  1843. {
  1844.    return SOM_ResolveD(this,WPObject,WPObject,wpRestore)
  1845.     (this);
  1846. }
  1847.  
  1848.  
  1849. /* method: wpRestoreData */
  1850. BOOL   wpRestoreData(PSZ pszClass,
  1851.         ULONG ulKey,
  1852.         PBYTE pValue,
  1853.         PULONG pcbValue)
  1854. {
  1855.    return SOM_ResolveD(this,WPObject,WPObject,wpRestoreData)
  1856.     (this,pszClass,ulKey,pValue,pcbValue);
  1857. }
  1858.  
  1859.  
  1860. /* method: wpRestoreLong */
  1861. BOOL   wpRestoreLong(PSZ pszClass,
  1862.         ULONG ulKey,
  1863.         PULONG pulValue)
  1864. {
  1865.    return SOM_ResolveD(this,WPObject,WPObject,wpRestoreLong)
  1866.     (this,pszClass,ulKey,pulValue);
  1867. }
  1868.  
  1869.  
  1870. /* method: wpRestoreState */
  1871. BOOL   wpRestoreState(ULONG ulReserved)
  1872. {
  1873.    return SOM_ResolveD(this,WPObject,WPObject,wpRestoreState)
  1874.     (this,ulReserved);
  1875. }
  1876.  
  1877.  
  1878. /* method: wpRestoreString */
  1879. BOOL   wpRestoreString(PSZ pszClass,
  1880.         ULONG ulKey,
  1881.         PSZ pszValue,
  1882.         PULONG pcbValue)
  1883. {
  1884.    return SOM_ResolveD(this,WPObject,WPObject,wpRestoreString)
  1885.     (this,pszClass,ulKey,pszValue,pcbValue);
  1886. }
  1887.  
  1888.  
  1889. /* method: wpSaveData */
  1890. BOOL   wpSaveData(PSZ pszClass,
  1891.         ULONG ulKey,
  1892.         PBYTE pValue,
  1893.         ULONG cbValue)
  1894. {
  1895.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveData)
  1896.     (this,pszClass,ulKey,pValue,cbValue);
  1897. }
  1898.  
  1899.  
  1900. /* method: wpSaveImmediate */
  1901. BOOL   wpSaveImmediate()
  1902. {
  1903.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveImmediate)
  1904.     (this);
  1905. }
  1906.  
  1907.  
  1908. /* method: wpSaveDeferred */
  1909. BOOL   wpSaveDeferred()
  1910. {
  1911.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveDeferred)
  1912.     (this);
  1913. }
  1914.  
  1915.  
  1916. /* method: wpSaveLong */
  1917. BOOL   wpSaveLong(PSZ pszClass,
  1918.         ULONG ulKey,
  1919.         ULONG ulValue)
  1920. {
  1921.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveLong)
  1922.     (this,pszClass,ulKey,ulValue);
  1923. }
  1924.  
  1925.  
  1926. /* method: wpSaveState */
  1927. BOOL   wpSaveState()
  1928. {
  1929.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveState)
  1930.     (this);
  1931. }
  1932.  
  1933.  
  1934. /* method: wpSaveString */
  1935. BOOL   wpSaveString(PSZ pszClass,
  1936.         ULONG ulKey,
  1937.         PSZ pszValue)
  1938. {
  1939.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveString)
  1940.     (this,pszClass,ulKey,pszValue);
  1941. }
  1942.  
  1943.  
  1944. /* method: wpScanSetupString */
  1945. BOOL   wpScanSetupString(PSZ pszSetupString,
  1946.         PSZ pszKey,
  1947.         PSZ pszValue,
  1948.         PULONG pcbValue)
  1949. {
  1950.    return SOM_ResolveD(this,WPObject,WPObject,wpScanSetupString)
  1951.     (this,pszSetupString,pszKey,pszValue,pcbValue);
  1952. }
  1953.  
  1954.  
  1955. /* method: wpSetConcurrentView */
  1956. void   wpSetConcurrentView(ULONG ulCCView)
  1957. {
  1958.    SOM_ResolveD(this,WPObject,WPObject,wpSetConcurrentView)
  1959.     (this,ulCCView);
  1960. }
  1961.  
  1962.  
  1963. /* method: wpSetButtonAppearance */
  1964. void   wpSetButtonAppearance(ULONG ulButtonType)
  1965. {
  1966.    SOM_ResolveD(this,WPObject,WPObject,wpSetButtonAppearance)
  1967.     (this,ulButtonType);
  1968. }
  1969.  
  1970.  
  1971. /* method: wpSetDefaultHelp */
  1972. BOOL   wpSetDefaultHelp(ULONG HelpPanelId,
  1973.         PSZ HelpLibrary)
  1974. {
  1975.    return SOM_ResolveD(this,WPObject,WPObject,wpSetDefaultHelp)
  1976.     (this,HelpPanelId,HelpLibrary);
  1977. }
  1978.  
  1979.  
  1980. /* method: wpSetDefaultView */
  1981. BOOL   wpSetDefaultView(ULONG ulView)
  1982. {
  1983.    return SOM_ResolveD(this,WPObject,WPObject,wpSetDefaultView)
  1984.     (this,ulView);
  1985. }
  1986.  
  1987.  
  1988. /* method: wpSetError */
  1989. BOOL   wpSetError(ULONG ulErrorId)
  1990. {
  1991.    return SOM_ResolveD(this,WPObject,WPObject,wpSetError)
  1992.     (this,ulErrorId);
  1993. }
  1994.  
  1995.  
  1996. /* method: wpSetIconHandle */
  1997. BOOL   wpSetIconHandle(HPOINTER hptrNewIcon)
  1998. {
  1999.    return SOM_ResolveD(this,WPObject,WPObject,wpSetIconHandle)
  2000.     (this,hptrNewIcon);
  2001. }
  2002.  
  2003.  
  2004. /* method: wpQueryScreenGroupID */
  2005. USHORT   wpQueryScreenGroupID(USHORT usPrevSgId)
  2006. {
  2007.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryScreenGroupID)
  2008.     (this,usPrevSgId);
  2009. }
  2010.  
  2011.  
  2012. /* method: wpSetupOnce */
  2013. BOOL   wpSetupOnce(PSZ pszSetupString)
  2014. {
  2015.    return SOM_ResolveD(this,WPObject,WPObject,wpSetupOnce)
  2016.     (this,pszSetupString);
  2017. }
  2018.  
  2019.  
  2020. /* method: wpSetIcon */
  2021. BOOL   wpSetIcon(HPOINTER hptrNewIcon)
  2022. {
  2023.    return SOM_ResolveD(this,WPObject,WPObject,wpSetIcon)
  2024.     (this,hptrNewIcon);
  2025. }
  2026.  
  2027.  
  2028. /* method: wpSetIconData */
  2029. BOOL   wpSetIconData(PICONINFO pIconInfo)
  2030. {
  2031.    return SOM_ResolveD(this,WPObject,WPObject,wpSetIconData)
  2032.     (this,pIconInfo);
  2033. }
  2034.  
  2035.  
  2036. /* method: wpSetMinWindow */
  2037. void   wpSetMinWindow(ULONG ulMinWindow)
  2038. {
  2039.    SOM_ResolveD(this,WPObject,WPObject,wpSetMinWindow)
  2040.     (this,ulMinWindow);
  2041. }
  2042.  
  2043.  
  2044. /* method: wpSetStyle */
  2045. BOOL   wpSetStyle(ULONG ulNewStyle)
  2046. {
  2047.    return SOM_ResolveD(this,WPObject,WPObject,wpSetStyle)
  2048.     (this,ulNewStyle);
  2049. }
  2050.  
  2051.  
  2052. /* method: wpModifyStyle */
  2053. BOOL   wpModifyStyle(ULONG ulStyleFlags,
  2054.         ULONG ulStyleMask)
  2055. {
  2056.    return SOM_ResolveD(this,WPObject,WPObject,wpModifyStyle)
  2057.     (this,ulStyleFlags,ulStyleMask);
  2058. }
  2059.  
  2060.  
  2061. /* method: wpSetTitle */
  2062. BOOL   wpSetTitle(PSZ pszNewTitle)
  2063. {
  2064.    return SOM_ResolveD(this,WPObject,WPObject,wpSetTitle)
  2065.     (this,pszNewTitle);
  2066. }
  2067.  
  2068.  
  2069. /* method: wpSetup */
  2070. BOOL   wpSetup(PSZ pszSetupString)
  2071. {
  2072.    return SOM_ResolveD(this,WPObject,WPObject,wpSetup)
  2073.     (this,pszSetupString);
  2074. }
  2075.  
  2076.  
  2077. /* method: wpSwitchTo */
  2078. BOOL   wpSwitchTo(ULONG View)
  2079. {
  2080.    return SOM_ResolveD(this,WPObject,WPObject,wpSwitchTo)
  2081.     (this,View);
  2082. }
  2083.  
  2084.  
  2085. /* method: wpUnInitData */
  2086. void   wpUnInitData()
  2087. {
  2088.    SOM_ResolveD(this,WPObject,WPObject,wpUnInitData)
  2089.     (this);
  2090. }
  2091.  
  2092.  
  2093. /* method: wpViewObject */
  2094. HWND   wpViewObject(HWND hwndCnr,
  2095.         ULONG ulView,
  2096.         ULONG param)
  2097. {
  2098.    return SOM_ResolveD(this,WPObject,WPObject,wpViewObject)
  2099.     (this,hwndCnr,ulView,param);
  2100. }
  2101.  
  2102.  
  2103. /* method: wpQueryTrueStyle */
  2104. ULONG   wpQueryTrueStyle()
  2105. {
  2106.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryTrueStyle)
  2107.     (this);
  2108. }
  2109.  
  2110.  
  2111. /* method: wpQueryHandle */
  2112. HOBJECT   wpQueryHandle()
  2113. {
  2114.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryHandle)
  2115.     (this);
  2116. }
  2117.  
  2118.  
  2119. /* method: wpUnlockObject */
  2120. BOOL   wpUnlockObject()
  2121. {
  2122.    return SOM_ResolveD(this,WPObject,WPObject,wpUnlockObject)
  2123.     (this);
  2124. }
  2125.  
  2126.  
  2127. /* method: wpObjectReady */
  2128. void   wpObjectReady(ULONG ulCode,
  2129.         WPObject* refObject)
  2130. {
  2131.    SOM_ResolveD(this,WPObject,WPObject,wpObjectReady)
  2132.     (this,ulCode,refObject);
  2133. }
  2134.  
  2135.  
  2136. /* method: wpIsObjectInitialized */
  2137. BOOL   wpIsObjectInitialized()
  2138. {
  2139.    return SOM_ResolveD(this,WPObject,WPObject,wpIsObjectInitialized)
  2140.     (this);
  2141. }
  2142.  
  2143.  
  2144. /* method: wpCreateShadowObjectExt */
  2145. WPObject*   wpCreateShadowObjectExt(WPFolder* Folder,
  2146.         BOOL fLock,
  2147.         PSZ pszSetup,
  2148.         M_WPObject* shadowClass)
  2149. {
  2150.    return SOM_ResolveD(this,WPObject,WPObject,wpCreateShadowObjectExt)
  2151.     (this,Folder,fLock,pszSetup,shadowClass);
  2152. }
  2153.  
  2154.  
  2155. /* method: wpCnrDeleteUseItem */
  2156. BOOL   wpCnrDeleteUseItem(HWND hwndCnr)
  2157. {
  2158.    return SOM_ResolveD(this,WPObject,WPObject,wpCnrDeleteUseItem)
  2159.     (this,hwndCnr);
  2160. }
  2161.  
  2162.  
  2163. /* method: wpIsDeleteable */
  2164. BOOL   wpIsDeleteable()
  2165. {
  2166.    return SOM_ResolveD(this,WPObject,WPObject,wpIsDeleteable)
  2167.     (this);
  2168. }
  2169.  
  2170.  
  2171. /* method: wpQueryCoreRecord */
  2172. PMINIRECORDCORE   wpQueryCoreRecord()
  2173. {
  2174.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryCoreRecord)
  2175.     (this);
  2176. }
  2177.  
  2178.  
  2179. /* method: wpSetObjectID */
  2180. BOOL   wpSetObjectID(PSZ pszObjectID)
  2181. {
  2182.    return SOM_ResolveD(this,WPObject,WPObject,wpSetObjectID)
  2183.     (this,pszObjectID);
  2184. }
  2185.  
  2186.  
  2187. /* method: wpQueryObjectID */
  2188. PSZ   wpQueryObjectID()
  2189. {
  2190.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryObjectID)
  2191.     (this);
  2192. }
  2193.  
  2194.  
  2195. /* method: wpSetDefaultIconPos */
  2196. BOOL   wpSetDefaultIconPos(PPOINTL pPointl)
  2197. {
  2198.    return SOM_ResolveD(this,WPObject,WPObject,wpSetDefaultIconPos)
  2199.     (this,pPointl);
  2200. }
  2201.  
  2202.  
  2203. /* method: wpQueryDefaultIconPos */
  2204. BOOL   wpQueryDefaultIconPos(PPOINTL pPointl)
  2205. {
  2206.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryDefaultIconPos)
  2207.     (this,pPointl);
  2208. }
  2209.  
  2210.  
  2211. /* method: wpCnrRefreshDetails */
  2212. void   wpCnrRefreshDetails()
  2213. {
  2214.    SOM_ResolveD(this,WPObject,WPObject,wpCnrRefreshDetails)
  2215.     (this);
  2216. }
  2217.  
  2218.  
  2219. /* method: wpFindViewItem */
  2220. PVIEWITEM   wpFindViewItem(ULONG flViews,
  2221.         PVIEWITEM pCurrentItem)
  2222. {
  2223.    return SOM_ResolveD(this,WPObject,WPObject,wpFindViewItem)
  2224.     (this,flViews,pCurrentItem);
  2225. }
  2226.  
  2227.  
  2228. /* method: wpLockObject */
  2229. void   wpLockObject()
  2230. {
  2231.    SOM_ResolveD(this,WPObject,WPObject,wpLockObject)
  2232.     (this);
  2233. }
  2234.  
  2235.  
  2236. /* method: wpIsLocked */
  2237. BOOL   wpIsLocked()
  2238. {
  2239.    return SOM_ResolveD(this,WPObject,WPObject,wpIsLocked)
  2240.     (this);
  2241. }
  2242.  
  2243.  
  2244. /* method: wpQueryContainerFlagPtr */
  2245. PULONG   wpQueryContainerFlagPtr()
  2246. {
  2247.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryContainerFlagPtr)
  2248.     (this);
  2249. }
  2250.  
  2251.  
  2252. /* method: wpWaitForClose */
  2253. ULONG   wpWaitForClose(LHANDLE lhView,
  2254.         ULONG ulViews,
  2255.         long lTimeOut,
  2256.         BOOL bAutoClose)
  2257. {
  2258.    return SOM_ResolveD(this,WPObject,WPObject,wpWaitForClose)
  2259.     (this,lhView,ulViews,lTimeOut,bAutoClose);
  2260. }
  2261.  
  2262.  
  2263. /*
  2264.  * Reintroduce inherited methods
  2265.  */
  2266.  
  2267. /* initializer method: somDefaultInit */
  2268. void   somDefaultInit(somInitCtrl* ctrl)
  2269. {
  2270.    SOM_ResolveD(this,WPObject,SOMObject,somDefaultInit)
  2271.     (this,ctrl);
  2272. }
  2273.  
  2274.  
  2275. /* method: somDestruct */
  2276. void   somDestruct(octet doFree,
  2277.         somDestructCtrl* ctrl)
  2278. {
  2279.    SOM_ResolveD(this,WPObject,SOMObject,somDestruct)
  2280.     (this,doFree,ctrl);
  2281. }
  2282.  
  2283.  
  2284. /* method: somDefaultCopyInit */
  2285. void   somDefaultCopyInit(somInitCtrl* ctrl,
  2286.         SOMObject* fromObj)
  2287. {
  2288.    SOM_ResolveD(this,WPObject,SOMObject,somDefaultCopyInit)
  2289.     (this,ctrl,fromObj);
  2290. }
  2291.  
  2292.  
  2293. /* method: somDefaultAssign */
  2294. WPObject*  somDefaultAssign(somAssignCtrl* ctrl,
  2295.         SOMObject* fromObj)
  2296. {
  2297.    return SOM_ResolveD(this,WPObject,SOMObject,somDefaultAssign)
  2298.     (this,ctrl,fromObj);
  2299. }
  2300.  
  2301.  
  2302. /* method: somDefaultConstCopyInit */
  2303. void   somDefaultConstCopyInit(somInitCtrl* ctrl,
  2304.         SOMObject* fromObj)
  2305. {
  2306.    SOM_ResolveD(this,WPObject,SOMObject,somDefaultConstCopyInit)
  2307.     (this,ctrl,fromObj);
  2308. }
  2309.  
  2310.  
  2311. /* method: somDefaultVCopyInit */
  2312. void   somDefaultVCopyInit(somInitCtrl* ctrl,
  2313.         SOMObject* fromObj)
  2314. {
  2315.    SOM_ResolveD(this,WPObject,SOMObject,somDefaultVCopyInit)
  2316.     (this,ctrl,fromObj);
  2317. }
  2318.  
  2319.  
  2320. /* method: somDefaultConstVCopyInit */
  2321. void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
  2322.         SOMObject* fromObj)
  2323. {
  2324.    SOM_ResolveD(this,WPObject,SOMObject,somDefaultConstVCopyInit)
  2325.     (this,ctrl,fromObj);
  2326. }
  2327.  
  2328.  
  2329. /* method: somDefaultConstAssign */
  2330. WPObject*  somDefaultConstAssign(somAssignCtrl* ctrl,
  2331.         SOMObject* fromObj)
  2332. {
  2333.    return SOM_ResolveD(this,WPObject,SOMObject,somDefaultConstAssign)
  2334.     (this,ctrl,fromObj);
  2335. }
  2336.  
  2337.  
  2338. /* method: somDefaultVAssign */
  2339. WPObject*  somDefaultVAssign(somAssignCtrl* ctrl,
  2340.         SOMObject* fromObj)
  2341. {
  2342.    return SOM_ResolveD(this,WPObject,SOMObject,somDefaultVAssign)
  2343.     (this,ctrl,fromObj);
  2344. }
  2345.  
  2346.  
  2347. /* method: somDefaultConstVAssign */
  2348. WPObject*  somDefaultConstVAssign(somAssignCtrl* ctrl,
  2349.         SOMObject* fromObj)
  2350. {
  2351.    return SOM_ResolveD(this,WPObject,SOMObject,somDefaultConstVAssign)
  2352.     (this,ctrl,fromObj);
  2353. }
  2354.  
  2355.  
  2356. /* method: somInit */
  2357. void   somInit()
  2358. {
  2359.    SOM_ResolveD(this,WPObject,SOMObject,somInit)
  2360.     (this);
  2361. }
  2362.  
  2363.  
  2364. /* method: somFree */
  2365. void   somFree()
  2366. {
  2367.    SOM_ResolveD(this,WPObject,SOMObject,somFree)
  2368.     (this);
  2369. }
  2370.  
  2371.  
  2372. /* method: somUninit */
  2373. void   somUninit()
  2374. {
  2375.    SOM_ResolveD(this,WPObject,SOMObject,somUninit)
  2376.     (this);
  2377. }
  2378.  
  2379.  
  2380. /* method: somGetClass */
  2381. M_WPObject*  somGetClass()
  2382. {
  2383.    return SOM_ResolveD(this,WPObject,SOMObject,somGetClass)
  2384.     (this);
  2385. }
  2386.  
  2387.  
  2388. /* method: somGetClassName */
  2389. string   somGetClassName()
  2390. {
  2391.    return SOM_ResolveD(this,WPObject,SOMObject,somGetClassName)
  2392.     (this);
  2393. }
  2394.  
  2395.  
  2396. /* method: somGetSize */
  2397. long   somGetSize()
  2398. {
  2399.    return SOM_ResolveD(this,WPObject,SOMObject,somGetSize)
  2400.     (this);
  2401. }
  2402.  
  2403.  
  2404. /* method: somIsA */
  2405. boolean   somIsA(SOMClass* aClassObj)
  2406. {
  2407.    return SOM_ResolveD(this,WPObject,SOMObject,somIsA)
  2408.     (this,aClassObj);
  2409. }
  2410.  
  2411.  
  2412. /* method: somIsInstanceOf */
  2413. boolean   somIsInstanceOf(SOMClass* aClassObj)
  2414. {
  2415.    return SOM_ResolveD(this,WPObject,SOMObject,somIsInstanceOf)
  2416.     (this,aClassObj);
  2417. }
  2418.  
  2419.  
  2420. /* method: somRespondsTo */
  2421. boolean   somRespondsTo(somId mId)
  2422. {
  2423.    return SOM_ResolveD(this,WPObject,SOMObject,somRespondsTo)
  2424.     (this,mId);
  2425. }
  2426.  
  2427.  
  2428. /* va_list method: somDispatch */
  2429. /* the va_list invocation form */
  2430. boolean   WPObject_somDispatch(somToken* retValue,
  2431.         somId methodId,
  2432.         va_list ap)
  2433. {
  2434. return SOM_ResolveD(this,WPObject,SOMObject,somDispatch)
  2435.     (this,retValue,methodId,ap);
  2436. }
  2437.  
  2438. /* the varargs invocation form */
  2439. boolean   somDispatch(somToken* retValue,
  2440.         somId methodId,
  2441.         ...)
  2442. {
  2443.    va_list ap;
  2444.    va_start(ap, methodId);
  2445.    boolean __somResult = 
  2446.       SOM_ResolveD(this,WPObject,SOMObject,somDispatch)
  2447.     (this,retValue,methodId,ap);
  2448.    va_end(ap);
  2449.    return __somResult;
  2450. }
  2451.  
  2452.  
  2453. /* va_list method: somClassDispatch */
  2454. /* the va_list invocation form */
  2455. boolean   WPObject_somClassDispatch(SOMClass* clsObj,
  2456.         somToken* retValue,
  2457.         somId methodId,
  2458.         va_list ap)
  2459. {
  2460. return SOM_ResolveD(this,WPObject,SOMObject,somClassDispatch)
  2461.     (this,clsObj,retValue,methodId,ap);
  2462. }
  2463.  
  2464. /* the varargs invocation form */
  2465. boolean   somClassDispatch(SOMClass* clsObj,
  2466.         somToken* retValue,
  2467.         somId methodId,
  2468.         ...)
  2469. {
  2470.    va_list ap;
  2471.    va_start(ap, methodId);
  2472.    boolean __somResult = 
  2473.       SOM_ResolveD(this,WPObject,SOMObject,somClassDispatch)
  2474.     (this,clsObj,retValue,methodId,ap);
  2475.    va_end(ap);
  2476.    return __somResult;
  2477. }
  2478.  
  2479.  
  2480. /* method: somCastObj */
  2481. boolean   somCastObj(SOMClass* cls)
  2482. {
  2483.    return SOM_ResolveD(this,WPObject,SOMObject,somCastObj)
  2484.     (this,cls);
  2485. }
  2486.  
  2487.  
  2488. /* method: somResetObj */
  2489. boolean   somResetObj()
  2490. {
  2491.    return SOM_ResolveD(this,WPObject,SOMObject,somResetObj)
  2492.     (this);
  2493. }
  2494.  
  2495.  
  2496. /* va_list method: somDispatchV */
  2497. /* the va_list invocation form */
  2498. void   WPObject_somDispatchV(somId methodId,
  2499.         somId descriptor,
  2500.         va_list ap)
  2501. {
  2502.    SOM_ResolveD(this,WPObject,SOMObject,somDispatchV)
  2503.     (this,methodId,descriptor,ap);
  2504. }
  2505.  
  2506. /* the varargs invocation form */
  2507. void   somDispatchV(somId methodId,
  2508.         somId descriptor,
  2509.         ...)
  2510. {
  2511.    va_list ap;
  2512.    va_start(ap, descriptor);
  2513.    SOM_ResolveD(this,WPObject,SOMObject,somDispatchV)
  2514.     (this,methodId,descriptor,ap);
  2515.    va_end(ap);
  2516. }
  2517.  
  2518.  
  2519. /* va_list method: somDispatchL */
  2520. /* the va_list invocation form */
  2521. long   WPObject_somDispatchL(somId methodId,
  2522.         somId descriptor,
  2523.         va_list ap)
  2524. {
  2525. return SOM_ResolveD(this,WPObject,SOMObject,somDispatchL)
  2526.     (this,methodId,descriptor,ap);
  2527. }
  2528.  
  2529. /* the varargs invocation form */
  2530. long   somDispatchL(somId methodId,
  2531.         somId descriptor,
  2532.         ...)
  2533. {
  2534.    va_list ap;
  2535.    va_start(ap, descriptor);
  2536.    long __somResult = 
  2537.       SOM_ResolveD(this,WPObject,SOMObject,somDispatchL)
  2538.     (this,methodId,descriptor,ap);
  2539.    va_end(ap);
  2540.    return __somResult;
  2541. }
  2542.  
  2543.  
  2544. /* va_list method: somDispatchA */
  2545. /* the va_list invocation form */
  2546. void*   WPObject_somDispatchA(somId methodId,
  2547.         somId descriptor,
  2548.         va_list ap)
  2549. {
  2550. return SOM_ResolveD(this,WPObject,SOMObject,somDispatchA)
  2551.     (this,methodId,descriptor,ap);
  2552. }
  2553.  
  2554. /* the varargs invocation form */
  2555. void*   somDispatchA(somId methodId,
  2556.         somId descriptor,
  2557.         ...)
  2558. {
  2559.    va_list ap;
  2560.    va_start(ap, descriptor);
  2561.    void* __somResult = 
  2562.       SOM_ResolveD(this,WPObject,SOMObject,somDispatchA)
  2563.     (this,methodId,descriptor,ap);
  2564.    va_end(ap);
  2565.    return __somResult;
  2566. }
  2567.  
  2568.  
  2569. /* va_list method: somDispatchD */
  2570. /* the va_list invocation form */
  2571. double   WPObject_somDispatchD(somId methodId,
  2572.         somId descriptor,
  2573.         va_list ap)
  2574. {
  2575. return SOM_ResolveD(this,WPObject,SOMObject,somDispatchD)
  2576.     (this,methodId,descriptor,ap);
  2577. }
  2578.  
  2579. /* the varargs invocation form */
  2580. double   somDispatchD(somId methodId,
  2581.         somId descriptor,
  2582.         ...)
  2583. {
  2584.    va_list ap;
  2585.    va_start(ap, descriptor);
  2586.    double __somResult = 
  2587.       SOM_ResolveD(this,WPObject,SOMObject,somDispatchD)
  2588.     (this,methodId,descriptor,ap);
  2589.    va_end(ap);
  2590.    return __somResult;
  2591. }
  2592.  
  2593.  
  2594. /* method: somPrintSelf */
  2595. SOMObject*   somPrintSelf()
  2596. {
  2597.    return SOM_ResolveD(this,WPObject,SOMObject,somPrintSelf)
  2598.     (this);
  2599. }
  2600.  
  2601.  
  2602. /* method: somDumpSelf */
  2603. void   somDumpSelf(long level)
  2604. {
  2605.    SOM_ResolveD(this,WPObject,SOMObject,somDumpSelf)
  2606.     (this,level);
  2607. }
  2608.  
  2609.  
  2610. /* method: somDumpSelfInt */
  2611. void   somDumpSelfInt(long level)
  2612. {
  2613.    SOM_ResolveD(this,WPObject,SOMObject,somDumpSelfInt)
  2614.     (this,level);
  2615. }
  2616.  
  2617.  
  2618.  
  2619. };   /* WPObject */
  2620.  
  2621.  
  2622.  
  2623. #endif       /* SOM_WPObject_xh */
  2624.  
  2625. #ifndef SOM_M_WPObject_xh
  2626. #define SOM_M_WPObject_xh
  2627.  
  2628. class M_WPObject;
  2629.  
  2630. #define M_WPObject_MajorVersion 1
  2631. #define M_WPObject_MinorVersion 2
  2632.  
  2633. /* C++ SOM defs */
  2634. #include <somcls.xh>
  2635. #include <somcm.xh>
  2636.  
  2637. /* C++ parent defs */
  2638. #ifndef SOM_SOMClass_xh
  2639. #include <somcls.xh>
  2640. #endif
  2641.  
  2642. #ifndef M_WPObject_API
  2643. #define M_WPObject_API
  2644. /*
  2645.  * -- The Class API
  2646.  */
  2647.  
  2648. /*
  2649.  * Start of user-defined types:
  2650.  */
  2651.  
  2652. /*
  2653.  * End of user-defined types.
  2654.  */
  2655.  
  2656. /*
  2657.  * -- M_WPObject is a metaclass for WPObject. Make sure WPObject is known.
  2658.  */
  2659. class WPObject;
  2660.  
  2661.  
  2662. /* A procedure to create the M_WPObject Class */
  2663. SOMEXTERN SOMClass * SOMLINK M_WPObjectNewClass(
  2664.         integer4 majorVersion,
  2665.         integer4 minorVersion);
  2666.  
  2667. /* The API to the M_WPObject class object, and the methods it introduces. */
  2668. SOMEXTERN struct M_WPObjectClassDataStructure {
  2669.     SOMClass *classObject;
  2670.     somMToken wpclsInitData;
  2671.     somMToken wpclsUnInitData;
  2672.     somMToken withdrawn8;
  2673.     somMToken wpclsMakeAwake;
  2674.     somMToken wpclsIncUsage;
  2675.     somMToken wpclsDecUsage;
  2676.     somMToken wpclsQueryTitle;
  2677.     somMToken wpclsQueryIcon;
  2678.     somMToken wpclsQueryDefaultHelp;
  2679.     somMToken wpclsQueryStyle;
  2680.     somMToken wpclsQueryDetailsInfo;
  2681.     somMToken wpclsQueryDefaultView;
  2682.     somMToken wpclsQueryDetails;
  2683.     somMToken wpclsQuerySearchInfo;
  2684.     somMToken wpclsQueryExtendedCriteria;
  2685.     somMToken wpclsCreateDefaultTemplates;
  2686.     somMToken withdrawn9;
  2687.     somMToken wpclsFindObjectFirst;
  2688.     somMToken wpclsFindObjectNext;
  2689.     somMToken wpclsFindObjectEnd;
  2690.     somMToken wpclsFindObjects;
  2691.     somMToken wpclsSetError;
  2692.     somMToken wpclsQueryError;
  2693.     somMToken wpclsQuerySettingsPageSize;
  2694.     somMToken wpclsSetSettingsPageSize;
  2695.     somMToken wpclsQueryIconData;
  2696.     somMToken wpclsSetIcon;
  2697.     somMToken wpclsSetIconData;
  2698.     somMToken wpclsQueryObject;
  2699.     somMToken wpclsObjectFromHandle;
  2700.     somMToken wpclsSaveDirtyObjects;
  2701.     somMToken wpclsLockDirtyList;
  2702.     somMToken wpclsUnlockDirtyList;
  2703.     somMToken wpclsLockRestartList;
  2704.     somMToken wpclsUnlockRestartList;
  2705.     somMToken wpclsQueryButtonAppearance;
  2706.     somMToken wpclsNew;
  2707.     somMToken wpclsQueryFolder;
  2708.     somMToken wpclsLockSleepyList;
  2709.     somMToken wpclsUnlockSleepyList;
  2710.     somMToken wpclsRemoveObjects;
  2711.     somMToken wpclsInsertMultipleObjects;
  2712.     somMToken wpclsINew;
  2713.     somMToken wpclsFindOneObject;
  2714.     somMToken wpclsQueryMaxAnimationIcons;
  2715. } SOMDLINK M_WPObjectClassData;
  2716. #define _M_WPObject M_WPObjectClassData.classObject
  2717.  
  2718. /* The API to parentMtabs for M_WPObject, and the instance data it introduces. */
  2719. SOMEXTERN struct M_WPObjectCClassDataStructure {
  2720.     somMethodTabs parentMtab;
  2721.     somDToken              instanceDataToken;
  2722. } SOMDLINK M_WPObjectCClassData;
  2723.  
  2724. /*
  2725.  * -- Typedefs for M_WPObject Method Procedures
  2726.  */
  2727. SOMEXTERN {
  2728. typedef BOOL   (SOMLINK * somTD_M_WPObject_wpclsCreateDefaultTemplates)(M_WPObject *somSelf,
  2729.         WPObject* Folder);
  2730. typedef void   (SOMLINK * somTD_M_WPObject_wpclsInitData)(M_WPObject *somSelf);
  2731. typedef WPObject*   (SOMLINK * somTD_M_WPObject_wpclsMakeAwake)(M_WPObject *somSelf,
  2732.         PSZ pszTitle,
  2733.         ULONG ulStyle,
  2734.         HPOINTER hptrIcon,
  2735.         POBJDATA pObjData,
  2736.         WPFolder* Folder,
  2737.         ULONG ulUser);
  2738. typedef WPObject*   (SOMLINK * somTD_M_WPObject_wpclsNew)(M_WPObject *somSelf,
  2739.         PSZ pszTitle,
  2740.         PSZ pszSetupEnv,
  2741.         WPFolder* Folder,
  2742.         BOOL fLock);
  2743. typedef BOOL   (SOMLINK * somTD_M_WPObject_wpclsQueryDefaultHelp)(M_WPObject *somSelf,
  2744.         PULONG pHelpPanelId,
  2745.         PSZ pszHelpLibrary);
  2746. typedef ULONG   (SOMLINK * somTD_M_WPObject_wpclsQueryDefaultView)(M_WPObject *somSelf);
  2747. typedef PCLASSDETAILS   (SOMLINK * somTD_M_WPObject_wpclsQueryDetails)(M_WPObject *somSelf);
  2748. typedef ULONG   (SOMLINK * somTD_M_WPObject_wpclsQueryDetailsInfo)(M_WPObject *somSelf,
  2749.         PCLASSFIELDINFO* ppClassFieldInfo,
  2750.         PULONG pSize);
  2751. typedef BOOL   (SOMLINK * somTD_M_WPObject_wpclsQueryExtendedCriteria)(M_WPObject *somSelf,
  2752.         PSZ pszName,
  2753.         ULONG ulSearchType,
  2754.         PVOID pvoidExtendedCriteria);
  2755. typedef WPObject*   (SOMLINK * somTD_M_WPObject_wpclsQueryFolder)(M_WPObject *somSelf,
  2756.         PSZ pszLocation,
  2757.         BOOL fLock);
  2758. typedef HPOINTER   (SOMLINK * somTD_M_WPObject_wpclsQueryIcon)(M_WPObject *somSelf);
  2759. typedef void   (SOMLINK * somTD_M_WPObject_wpclsQuerySearchInfo)(M_WPObject *somSelf,
  2760.         M_WPObject** ClassExtended,
  2761.         M_WPObject** ClassCreate,
  2762.         PULONG pulClassCriteriaSize);
  2763. typedef ULONG   (SOMLINK * somTD_M_WPObject_wpclsQueryStyle)(M_WPObject *somSelf);
  2764. typedef PSZ   (SOMLINK * somTD_M_WPObject_wpclsQueryTitle)(M_WPObject *somSelf);
  2765. typedef void   (SOMLINK * somTD_M_WPObject_wpclsUnInitData)(M_WPObject *somSelf);
  2766. typedef BOOL   (SOMLINK * somTD_M_WPObject_wpclsFindObjectFirst)(M_WPObject *somSelf,
  2767.         PCLASS pClassList,
  2768.         PHFIND phFind,
  2769.         PSZ pszTitle,
  2770.         WPFolder* Folder,
  2771.         BOOL fSubfolders,
  2772.         PVOID pExtendedCriteria,
  2773.         POBJECT pBuffer,
  2774.         PULONG pCount);
  2775. typedef BOOL   (SOMLINK * somTD_M_WPObject_wpclsFindObjectNext)(M_WPObject *somSelf,
  2776.         HFIND hFind,
  2777.         POBJECT pBuffer,
  2778.         PULONG pCount);
  2779. typedef BOOL   (SOMLINK * somTD_M_WPObject_wpclsFindObjectEnd)(M_WPObject *somSelf,
  2780.         HFIND hFind);
  2781. typedef BOOL   (SOMLINK * somTD_M_WPObject_wpclsSetError)(M_WPObject *somSelf,
  2782.         ULONG ulErrorId);
  2783. typedef ULONG   (SOMLINK * somTD_M_WPObject_wpclsQueryError)(M_WPObject *somSelf);
  2784. typedef BOOL   (SOMLINK * somTD_M_WPObject_wpclsQuerySettingsPageSize)(M_WPObject *somSelf,
  2785.         PSIZEL pSizl);
  2786. typedef ULONG   (SOMLINK * somTD_M_WPObject_wpclsQueryIconData)(M_WPObject *somSelf,
  2787.         PICONINFO pIconInfo);
  2788. typedef WPObject*   (SOMLINK * somTD_M_WPObject_wpclsQueryObject)(M_WPObject *somSelf,
  2789.         HOBJECT hObject);
  2790. typedef ULONG   (SOMLINK * somTD_M_WPObject_wpclsQueryButtonAppearance)(M_WPObject *somSelf);
  2791. typedef void   (SOMLINK * somTD_M_WPObject_wpclsDecUsage)(M_WPObject *somSelf);
  2792. typedef void   (SOMLINK * somTD_M_WPObject_wpclsIncUsage)(M_WPObject *somSelf);
  2793. typedef BOOL   (SOMLINK * somTD_M_WPObject_wpclsInsertMultipleObjects)(M_WPObject *somSelf,
  2794.         HWND hwndCnr,
  2795.         PPOINTL pptlIcon,
  2796.         PVOID* pObjectArray,
  2797.         PVOID pRecordParent,
  2798.         ULONG NumRecords);
  2799. typedef WPObject*   (SOMLINK * somTD_M_WPObject_wpclsFindOneObject)(M_WPObject *somSelf,
  2800.         HWND hwndOwner,
  2801.         PSZ pszFindParams);
  2802. typedef BOOL   (SOMLINK * somTD_M_WPObject_wpclsSetSettingsPageSize)(M_WPObject *somSelf,
  2803.         PSIZEL pSizl);
  2804. typedef BOOL   (SOMLINK * somTD_M_WPObject_wpclsSetIconData)(M_WPObject *somSelf,
  2805.         PICONINFO pIconInfo);
  2806. typedef BOOL   (SOMLINK * somTD_M_WPObject_wpclsSetIcon)(M_WPObject *somSelf,
  2807.         HPOINTER hptrNewIcon);
  2808. typedef WPObject*   (SOMLINK * somTD_M_WPObject_wpclsObjectFromHandle)(M_WPObject *somSelf,
  2809.         HOBJECT hObject);
  2810. typedef BOOL   (SOMLINK * somTD_M_WPObject_wpclsRemoveObjects)(M_WPObject *somSelf,
  2811.         HWND hwndCnr,
  2812.         PVOID* pRecordArray,
  2813.         ULONG NumRecords,
  2814.         BOOL RemoveAll);
  2815.  
  2816. /*
  2817.  * -- Typedefs for Reintroduced Wrapper Methods
  2818.  */
  2819. typedef long   (SOMLINK * somTD_M_WPObject__get_somDataAlignment)(M_WPObject *somSelf);
  2820. typedef SOMClass_somOffsets   (SOMLINK * somTD_M_WPObject__get_somInstanceDataOffsets)(M_WPObject *somSelf);
  2821. typedef SOMClass_SOMClassSequence   (SOMLINK * somTD_M_WPObject__get_somDirectInitClasses)(M_WPObject *somSelf);
  2822. typedef void   (SOMLINK * somTD_M_WPObject__set_somDirectInitClasses)(M_WPObject *somSelf,
  2823.         SOMClass_SOMClassSequence* somDirectInitClasses);
  2824. typedef WPObject*   (SOMLINK * somTD_M_WPObject_somNew)(M_WPObject *somSelf);
  2825. typedef SOMObject*   (SOMLINK * somTD_M_WPObject_somNewNoInit)(M_WPObject *somSelf);
  2826. typedef SOMObject*   (SOMLINK * somTD_M_WPObject_somRenew)(M_WPObject *somSelf,
  2827.         void* obj);
  2828. typedef SOMObject*   (SOMLINK * somTD_M_WPObject_somRenewNoInit)(M_WPObject *somSelf,
  2829.         void* obj);
  2830. typedef SOMObject*   (SOMLINK * somTD_M_WPObject_somRenewNoZero)(M_WPObject *somSelf,
  2831.         void* obj);
  2832. typedef SOMObject*   (SOMLINK * somTD_M_WPObject_somRenewNoInitNoZero)(M_WPObject *somSelf,
  2833.         void* obj);
  2834. typedef string   (SOMLINK * somTD_M_WPObject_somAllocate)(M_WPObject *somSelf,
  2835.         long size);
  2836. typedef void   (SOMLINK * somTD_M_WPObject_somDeallocate)(M_WPObject *somSelf,
  2837.         string memptr);
  2838. typedef somMethodProc*   (SOMLINK * somTD_M_WPObject__get_somClassAllocate)(M_WPObject *somSelf);
  2839. typedef somMethodProc*   (SOMLINK * somTD_M_WPObject__get_somClassDeallocate)(M_WPObject *somSelf);
  2840. typedef somBooleanVector   (SOMLINK * somTD_M_WPObject_somGetInstanceInitMask)(M_WPObject *somSelf,
  2841.         somInitCtrl* ctrl);
  2842. typedef somBooleanVector   (SOMLINK * somTD_M_WPObject_somGetInstanceDestructionMask)(M_WPObject *somSelf,
  2843.         somDestructCtrl* ctrl);
  2844. typedef somBooleanVector   (SOMLINK * somTD_M_WPObject_somGetInstanceAssignmentMask)(M_WPObject *somSelf,
  2845.         somAssignCtrl* ctrl);
  2846. typedef void   (SOMLINK * somTD_M_WPObject_somInitClass)(M_WPObject *somSelf,
  2847.         string className,
  2848.         SOMClass* parentClass,
  2849.         long dataSize,
  2850.         long maxStaticMethods,
  2851.         long majorVersion,
  2852.         long minorVersion);
  2853. typedef void   (SOMLINK * somTD_M_WPObject_somInitMIClass)(M_WPObject *somSelf,
  2854.         long inherit_vars,
  2855.         string className,
  2856.         SOMClass_SOMClassSequence* parentClasses,
  2857.         long dataSize,
  2858.         long dataAlignment,
  2859.         long maxStaticMethods,
  2860.         long majorVersion,
  2861.         long minorVersion);
  2862. typedef somMToken   (SOMLINK * somTD_M_WPObject_somAddStaticMethod)(M_WPObject *somSelf,
  2863.         somId methodId,
  2864.         somId methodDescriptor,
  2865.         somMethodPtr method,
  2866.         somMethodPtr redispatchStub,
  2867.         somMethodPtr applyStub);
  2868. typedef void   (SOMLINK * somTD_M_WPObject_somAddDynamicMethod)(M_WPObject *somSelf,
  2869.         somId methodId,
  2870.         somId methodDescriptor,
  2871.         somMethodPtr method,
  2872.         somMethodPtr applyStub);
  2873. typedef void   (SOMLINK * somTD_M_WPObject_somOverrideSMethod)(M_WPObject *somSelf,
  2874.         somId methodId,
  2875.         somMethodPtr method);
  2876. typedef void   (SOMLINK * somTD_M_WPObject_somClassReady)(M_WPObject *somSelf);
  2877. typedef somMethodPtr   (SOMLINK * somTD_M_WPObject_somGetApplyStub)(M_WPObject *somSelf,
  2878.         somId methodId);
  2879. typedef somClassDataStructure*   (SOMLINK * somTD_M_WPObject_somGetClassData)(M_WPObject *somSelf);
  2880. typedef void   (SOMLINK * somTD_M_WPObject_somSetClassData)(M_WPObject *somSelf,
  2881.         somClassDataStructure* cds);
  2882. typedef somMethodTab*   (SOMLINK * somTD_M_WPObject_somGetClassMtab)(M_WPObject *somSelf);
  2883. typedef long   (SOMLINK * somTD_M_WPObject_somGetInstanceOffset)(M_WPObject *somSelf);
  2884. typedef long   (SOMLINK * somTD_M_WPObject_somGetInstancePartSize)(M_WPObject *somSelf);
  2885. typedef long   (SOMLINK * somTD_M_WPObject_somGetInstanceSize)(M_WPObject *somSelf);
  2886. typedef somDToken   (SOMLINK * somTD_M_WPObject_somGetInstanceToken)(M_WPObject *somSelf);
  2887. typedef somDToken   (SOMLINK * somTD_M_WPObject_somGetMemberToken)(M_WPObject *somSelf,
  2888.         long memberOffset,
  2889.         somDToken instanceToken);
  2890. typedef boolean   (SOMLINK * somTD_M_WPObject_somGetMethodData)(M_WPObject *somSelf,
  2891.         somId methodId,
  2892.         somMethodData* md);
  2893. typedef somMethodProc*   (SOMLINK * somTD_M_WPObject_somGetRdStub)(M_WPObject *somSelf,
  2894.         somId methodId);
  2895. typedef somId   (SOMLINK * somTD_M_WPObject_somGetMethodDescriptor)(M_WPObject *somSelf,
  2896.         somId methodId);
  2897. typedef long   (SOMLINK * somTD_M_WPObject_somGetMethodIndex)(M_WPObject *somSelf,
  2898.         somId id);
  2899. typedef somMToken   (SOMLINK * somTD_M_WPObject_somGetMethodToken)(M_WPObject *somSelf,
  2900.         somId methodId);
  2901. typedef string   (SOMLINK * somTD_M_WPObject_somGetName)(M_WPObject *somSelf);
  2902. typedef boolean   (SOMLINK * somTD_M_WPObject_somGetNthMethodData)(M_WPObject *somSelf,
  2903.         long n,
  2904.         somMethodData* md);
  2905. typedef somId   (SOMLINK * somTD_M_WPObject_somGetNthMethodInfo)(M_WPObject *somSelf,
  2906.         long n,
  2907.         somId* descriptor);
  2908. typedef long   (SOMLINK * somTD_M_WPObject_somGetNumMethods)(M_WPObject *somSelf);
  2909. typedef long   (SOMLINK * somTD_M_WPObject_somGetNumStaticMethods)(M_WPObject *somSelf);
  2910. typedef SOMClass*   (SOMLINK * somTD_M_WPObject_somGetParent)(M_WPObject *somSelf);
  2911. typedef SOMClass_SOMClassSequence   (SOMLINK * somTD_M_WPObject_somGetParents)(M_WPObject *somSelf);
  2912. typedef somMethodTabs   (SOMLINK * somTD_M_WPObject_somGetPClsMtab)(M_WPObject *somSelf);
  2913. typedef somMethodTabs   (SOMLINK * somTD_M_WPObject_somGetPClsMtabs)(M_WPObject *somSelf);
  2914. typedef void   (SOMLINK * somTD_M_WPObject_somGetVersionNumbers)(M_WPObject *somSelf,
  2915.         long* majorVersion,
  2916.         long* minorVersion);
  2917. typedef boolean   (SOMLINK * somTD_M_WPObject_somSetMethodDescriptor)(M_WPObject *somSelf,
  2918.         somId methodId,
  2919.         somId descriptor);
  2920. typedef boolean   (SOMLINK * somTD_M_WPObject_somFindMethod)(M_WPObject *somSelf,
  2921.         somId methodId,
  2922.         somMethodPtr* m);
  2923. typedef boolean   (SOMLINK * somTD_M_WPObject_somFindMethodOk)(M_WPObject *somSelf,
  2924.         somId methodId,
  2925.         somMethodPtr* m);
  2926. typedef somMethodPtr   (SOMLINK * somTD_M_WPObject_somFindSMethod)(M_WPObject *somSelf,
  2927.         somId methodId);
  2928. typedef somMethodPtr   (SOMLINK * somTD_M_WPObject_somFindSMethodOk)(M_WPObject *somSelf,
  2929.         somId methodId);
  2930. typedef somMethodPtr   (SOMLINK * somTD_M_WPObject_somLookupMethod)(M_WPObject *somSelf,
  2931.         somId methodId);
  2932. typedef boolean   (SOMLINK * somTD_M_WPObject_somCheckVersion)(M_WPObject *somSelf,
  2933.         long majorVersion,
  2934.         long minorVersion);
  2935. typedef boolean   (SOMLINK * somTD_M_WPObject_somDescendedFrom)(M_WPObject *somSelf,
  2936.         SOMClass* aClassObj);
  2937. typedef boolean   (SOMLINK * somTD_M_WPObject_somSupportsMethod)(M_WPObject *somSelf,
  2938.         somId mId);
  2939. typedef somMethodPtr   (SOMLINK * somTD_M_WPObject_somDefinedMethod)(M_WPObject *somSelf,
  2940.         somMToken method);
  2941. typedef void   (SOMLINK * somTD_M_WPObject_somOverrideMtab)(M_WPObject *somSelf);
  2942. typedef void   (SOMLINK * somTD_M_WPObject_somDefaultInit)(M_WPObject *somSelf,
  2943.         somInitCtrl* ctrl);
  2944. typedef void   (SOMLINK * somTD_M_WPObject_somDestruct)(M_WPObject *somSelf,
  2945.         octet doFree,
  2946.         somDestructCtrl* ctrl);
  2947. typedef void   (SOMLINK * somTD_M_WPObject_somDefaultCopyInit)(M_WPObject *somSelf,
  2948.         somInitCtrl* ctrl,
  2949.         SOMObject* fromObj);
  2950. typedef M_WPObject*   (SOMLINK * somTD_M_WPObject_somDefaultAssign)(M_WPObject *somSelf,
  2951.         somAssignCtrl* ctrl,
  2952.         SOMObject* fromObj);
  2953. typedef void   (SOMLINK * somTD_M_WPObject_somDefaultConstCopyInit)(M_WPObject *somSelf,
  2954.         somInitCtrl* ctrl,
  2955.         SOMObject* fromObj);
  2956. typedef void   (SOMLINK * somTD_M_WPObject_somDefaultVCopyInit)(M_WPObject *somSelf,
  2957.         somInitCtrl* ctrl,
  2958.         SOMObject* fromObj);
  2959. typedef void   (SOMLINK * somTD_M_WPObject_somDefaultConstVCopyInit)(M_WPObject *somSelf,
  2960.         somInitCtrl* ctrl,
  2961.         SOMObject* fromObj);
  2962. typedef M_WPObject*   (SOMLINK * somTD_M_WPObject_somDefaultConstAssign)(M_WPObject *somSelf,
  2963.         somAssignCtrl* ctrl,
  2964.         SOMObject* fromObj);
  2965. typedef M_WPObject*   (SOMLINK * somTD_M_WPObject_somDefaultVAssign)(M_WPObject *somSelf,
  2966.         somAssignCtrl* ctrl,
  2967.         SOMObject* fromObj);
  2968. typedef M_WPObject*   (SOMLINK * somTD_M_WPObject_somDefaultConstVAssign)(M_WPObject *somSelf,
  2969.         somAssignCtrl* ctrl,
  2970.         SOMObject* fromObj);
  2971. typedef void   (SOMLINK * somTD_M_WPObject_somInit)(M_WPObject *somSelf);
  2972. typedef void   (SOMLINK * somTD_M_WPObject_somFree)(M_WPObject *somSelf);
  2973. typedef void   (SOMLINK * somTD_M_WPObject_somUninit)(M_WPObject *somSelf);
  2974. typedef SOMClass*   (SOMLINK * somTD_M_WPObject_somGetClass)(M_WPObject *somSelf);
  2975. typedef string   (SOMLINK * somTD_M_WPObject_somGetClassName)(M_WPObject *somSelf);
  2976. typedef long   (SOMLINK * somTD_M_WPObject_somGetSize)(M_WPObject *somSelf);
  2977. typedef boolean   (SOMLINK * somTD_M_WPObject_somIsA)(M_WPObject *somSelf,
  2978.         SOMClass* aClassObj);
  2979. typedef boolean   (SOMLINK * somTD_M_WPObject_somIsInstanceOf)(M_WPObject *somSelf,
  2980.         SOMClass* aClassObj);
  2981. typedef boolean   (SOMLINK * somTD_M_WPObject_somRespondsTo)(M_WPObject *somSelf,
  2982.         somId mId);
  2983. typedef boolean   (SOMLINK * somTD_M_WPObject_somDispatch)(M_WPObject *somSelf,
  2984.         somToken* retValue,
  2985.         somId methodId,
  2986.         va_list ap);
  2987. typedef boolean   (SOMLINK * somTD_M_WPObject_somClassDispatch)(M_WPObject *somSelf,
  2988.         SOMClass* clsObj,
  2989.         somToken* retValue,
  2990.         somId methodId,
  2991.         va_list ap);
  2992. typedef boolean   (SOMLINK * somTD_M_WPObject_somCastObj)(M_WPObject *somSelf,
  2993.         SOMClass* cls);
  2994. typedef boolean   (SOMLINK * somTD_M_WPObject_somResetObj)(M_WPObject *somSelf);
  2995. typedef void   (SOMLINK * somTD_M_WPObject_somDispatchV)(M_WPObject *somSelf,
  2996.         somId methodId,
  2997.         somId descriptor,
  2998.         va_list ap);
  2999. typedef long   (SOMLINK * somTD_M_WPObject_somDispatchL)(M_WPObject *somSelf,
  3000.         somId methodId,
  3001.         somId descriptor,
  3002.         va_list ap);
  3003. typedef void*   (SOMLINK * somTD_M_WPObject_somDispatchA)(M_WPObject *somSelf,
  3004.         somId methodId,
  3005.         somId descriptor,
  3006.         va_list ap);
  3007. typedef double   (SOMLINK * somTD_M_WPObject_somDispatchD)(M_WPObject *somSelf,
  3008.         somId methodId,
  3009.         somId descriptor,
  3010.         va_list ap);
  3011. typedef SOMObject*   (SOMLINK * somTD_M_WPObject_somPrintSelf)(M_WPObject *somSelf);
  3012. typedef void   (SOMLINK * somTD_M_WPObject_somDumpSelf)(M_WPObject *somSelf,
  3013.         long level);
  3014. typedef void   (SOMLINK * somTD_M_WPObject_somDumpSelfInt)(M_WPObject *somSelf,
  3015.         long level);
  3016. }
  3017.  
  3018. #endif /* M_WPObject_API */
  3019.  
  3020.  
  3021. /*
  3022.  * -- This emitter treats Method Tokens as Thunks by default.
  3023.  * -- Use the sc modifier "nothunks" to change this default
  3024.  */
  3025. #undef somresolve_
  3026. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  3027.  
  3028. /*
  3029.  * -- The C++ Wrapper Class for M_WPObject
  3030.  */
  3031. class M_WPObject : public SOMClass
  3032. {
  3033. public:
  3034.  
  3035. // M_WPObject::new creates the class object if necessary, and then uses somNewNoInit
  3036. // to allocate memory and create the object. Initialization is in ctors.
  3037. void *operator new(size_t size)
  3038. {
  3039.    SOM_IgnoreWarning(size);
  3040.    if (!_M_WPObject) M_WPObjectNewClass(M_WPObject_MajorVersion,M_WPObject_MinorVersion);
  3041.    return (void*)
  3042.       SOM_Resolve(_M_WPObject,SOMClass,somNewNoInit)
  3043.          ((SOMClass *)((void*)_M_WPObject));
  3044. }
  3045.  
  3046. // M_WPObject::delete uses the default deallocator for the object's class.
  3047. void operator delete(void * obj)
  3048. {
  3049.    somToken objCls = obj ? *(void**)obj : (somToken) NULL;
  3050.    if (somIsObj(objCls)) {
  3051.       SOM_Resolve(objCls,SOMClass,somDeallocate)
  3052.          ((SOMClass*)objCls, (string)obj);
  3053.    }
  3054. }
  3055.  
  3056. M_WPObject()
  3057. {
  3058.    if (*(void**)this != 
  3059.        ((somParentMtabStructPtr)
  3060.         (M_WPObjectCClassData.parentMtab))->mtab)
  3061.       return;
  3062.    somDefaultInit(0);
  3063. }
  3064.  
  3065. M_WPObject(M_WPObject* fromObj)
  3066. {
  3067.    if (*(void**)this != 
  3068.        ((somParentMtabStructPtr)
  3069.         (M_WPObjectCClassData.parentMtab))->mtab)
  3070.       return;
  3071.    somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  3072. }
  3073.  
  3074. M_WPObject(const M_WPObject* fromObj)
  3075. {
  3076.    if (*(void**)this != 
  3077.        ((somParentMtabStructPtr)
  3078.         (M_WPObjectCClassData.parentMtab))->mtab)
  3079.       return;
  3080.    somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  3081. }
  3082.  
  3083. ~M_WPObject()
  3084. {
  3085.    if (!somIsObj(this)) return;
  3086.    somDestruct(0,0);
  3087.    *(void**)this = **(void***)this;
  3088. }
  3089.  
  3090.  
  3091. /* method: wpclsCreateDefaultTemplates */
  3092. BOOL   wpclsCreateDefaultTemplates(WPObject* Folder)
  3093. {
  3094.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsCreateDefaultTemplates)
  3095.     (this,Folder);
  3096. }
  3097.  
  3098.  
  3099. /* method: wpclsInitData */
  3100. void   wpclsInitData()
  3101. {
  3102.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsInitData)
  3103.     (this);
  3104. }
  3105.  
  3106.  
  3107. /* method: wpclsMakeAwake */
  3108. WPObject*   wpclsMakeAwake(PSZ pszTitle,
  3109.         ULONG ulStyle,
  3110.         HPOINTER hptrIcon,
  3111.         POBJDATA pObjData,
  3112.         WPFolder* Folder,
  3113.         ULONG ulUser)
  3114. {
  3115.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsMakeAwake)
  3116.     (this,pszTitle,ulStyle,hptrIcon,pObjData,Folder,ulUser);
  3117. }
  3118.  
  3119.  
  3120. /* method: wpclsNew */
  3121. WPObject*   wpclsNew(PSZ pszTitle,
  3122.         PSZ pszSetupEnv,
  3123.         WPFolder* Folder,
  3124.         BOOL fLock)
  3125. {
  3126.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsNew)
  3127.     (this,pszTitle,pszSetupEnv,Folder,fLock);
  3128. }
  3129.  
  3130.  
  3131. /* method: wpclsQueryDefaultHelp */
  3132. BOOL   wpclsQueryDefaultHelp(PULONG pHelpPanelId,
  3133.         PSZ pszHelpLibrary)
  3134. {
  3135.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryDefaultHelp)
  3136.     (this,pHelpPanelId,pszHelpLibrary);
  3137. }
  3138.  
  3139.  
  3140. /* method: wpclsQueryDefaultView */
  3141. ULONG   wpclsQueryDefaultView()
  3142. {
  3143.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryDefaultView)
  3144.     (this);
  3145. }
  3146.  
  3147.  
  3148. /* method: wpclsQueryDetails */
  3149. PCLASSDETAILS   wpclsQueryDetails()
  3150. {
  3151.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryDetails)
  3152.     (this);
  3153. }
  3154.  
  3155.  
  3156. /* method: wpclsQueryDetailsInfo */
  3157. ULONG   wpclsQueryDetailsInfo(PCLASSFIELDINFO* ppClassFieldInfo,
  3158.         PULONG pSize)
  3159. {
  3160.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryDetailsInfo)
  3161.     (this,ppClassFieldInfo,pSize);
  3162. }
  3163.  
  3164.  
  3165. /* method: wpclsQueryExtendedCriteria */
  3166. BOOL   wpclsQueryExtendedCriteria(PSZ pszName,
  3167.         ULONG ulSearchType,
  3168.         PVOID pvoidExtendedCriteria)
  3169. {
  3170.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryExtendedCriteria)
  3171.     (this,pszName,ulSearchType,pvoidExtendedCriteria);
  3172. }
  3173.  
  3174.  
  3175. /* method: wpclsQueryFolder */
  3176. WPObject*   wpclsQueryFolder(PSZ pszLocation,
  3177.         BOOL fLock)
  3178. {
  3179.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryFolder)
  3180.     (this,pszLocation,fLock);
  3181. }
  3182.  
  3183.  
  3184. /* method: wpclsQueryIcon */
  3185. HPOINTER   wpclsQueryIcon()
  3186. {
  3187.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryIcon)
  3188.     (this);
  3189. }
  3190.  
  3191.  
  3192. /* method: wpclsQuerySearchInfo */
  3193. void   wpclsQuerySearchInfo(M_WPObject** ClassExtended,
  3194.         M_WPObject** ClassCreate,
  3195.         PULONG pulClassCriteriaSize)
  3196. {
  3197.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQuerySearchInfo)
  3198.     (this,ClassExtended,ClassCreate,pulClassCriteriaSize);
  3199. }
  3200.  
  3201.  
  3202. /* method: wpclsQueryStyle */
  3203. ULONG   wpclsQueryStyle()
  3204. {
  3205.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryStyle)
  3206.     (this);
  3207. }
  3208.  
  3209.  
  3210. /* method: wpclsQueryTitle */
  3211. PSZ   wpclsQueryTitle()
  3212. {
  3213.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryTitle)
  3214.     (this);
  3215. }
  3216.  
  3217.  
  3218. /* method: wpclsUnInitData */
  3219. void   wpclsUnInitData()
  3220. {
  3221.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsUnInitData)
  3222.     (this);
  3223. }
  3224.  
  3225.  
  3226. /* method: wpclsFindObjectFirst */
  3227. BOOL   wpclsFindObjectFirst(PCLASS pClassList,
  3228.         PHFIND phFind,
  3229.         PSZ pszTitle,
  3230.         WPFolder* Folder,
  3231.         BOOL fSubfolders,
  3232.         PVOID pExtendedCriteria,
  3233.         POBJECT pBuffer,
  3234.         PULONG pCount)
  3235. {
  3236.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsFindObjectFirst)
  3237.     (this,pClassList,phFind,pszTitle,Folder,fSubfolders,pExtendedCriteria,pBuffer,pCount);
  3238. }
  3239.  
  3240.  
  3241. /* method: wpclsFindObjectNext */
  3242. BOOL   wpclsFindObjectNext(HFIND hFind,
  3243.         POBJECT pBuffer,
  3244.         PULONG pCount)
  3245. {
  3246.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsFindObjectNext)
  3247.     (this,hFind,pBuffer,pCount);
  3248. }
  3249.  
  3250.  
  3251. /* method: wpclsFindObjectEnd */
  3252. BOOL   wpclsFindObjectEnd(HFIND hFind)
  3253. {
  3254.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsFindObjectEnd)
  3255.     (this,hFind);
  3256. }
  3257.  
  3258.  
  3259. /* method: wpclsSetError */
  3260. BOOL   wpclsSetError(ULONG ulErrorId)
  3261. {
  3262.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsSetError)
  3263.     (this,ulErrorId);
  3264. }
  3265.  
  3266.  
  3267. /* method: wpclsQueryError */
  3268. ULONG   wpclsQueryError()
  3269. {
  3270.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryError)
  3271.     (this);
  3272. }
  3273.  
  3274.  
  3275. /* method: wpclsQuerySettingsPageSize */
  3276. BOOL   wpclsQuerySettingsPageSize(PSIZEL pSizl)
  3277. {
  3278.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQuerySettingsPageSize)
  3279.     (this,pSizl);
  3280. }
  3281.  
  3282.  
  3283. /* method: wpclsQueryIconData */
  3284. ULONG   wpclsQueryIconData(PICONINFO pIconInfo)
  3285. {
  3286.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryIconData)
  3287.     (this,pIconInfo);
  3288. }
  3289.  
  3290.  
  3291. /* method: wpclsQueryObject */
  3292. WPObject*   wpclsQueryObject(HOBJECT hObject)
  3293. {
  3294.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryObject)
  3295.     (this,hObject);
  3296. }
  3297.  
  3298.  
  3299. /* method: wpclsQueryButtonAppearance */
  3300. ULONG   wpclsQueryButtonAppearance()
  3301. {
  3302.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryButtonAppearance)
  3303.     (this);
  3304. }
  3305.  
  3306.  
  3307. /* method: wpclsDecUsage */
  3308. void   wpclsDecUsage()
  3309. {
  3310.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsDecUsage)
  3311.     (this);
  3312. }
  3313.  
  3314.  
  3315. /* method: wpclsIncUsage */
  3316. void   wpclsIncUsage()
  3317. {
  3318.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsIncUsage)
  3319.     (this);
  3320. }
  3321.  
  3322.  
  3323. /* method: wpclsInsertMultipleObjects */
  3324. BOOL   wpclsInsertMultipleObjects(HWND hwndCnr,
  3325.         PPOINTL pptlIcon,
  3326.         PVOID* pObjectArray,
  3327.         PVOID pRecordParent,
  3328.         ULONG NumRecords)
  3329. {
  3330.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsInsertMultipleObjects)
  3331.     (this,hwndCnr,pptlIcon,pObjectArray,pRecordParent,NumRecords);
  3332. }
  3333.  
  3334.  
  3335. /* method: wpclsFindOneObject */
  3336. WPObject*   wpclsFindOneObject(HWND hwndOwner,
  3337.         PSZ pszFindParams)
  3338. {
  3339.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsFindOneObject)
  3340.     (this,hwndOwner,pszFindParams);
  3341. }
  3342.  
  3343.  
  3344. /* method: wpclsSetSettingsPageSize */
  3345. BOOL   wpclsSetSettingsPageSize(PSIZEL pSizl)
  3346. {
  3347.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsSetSettingsPageSize)
  3348.     (this,pSizl);
  3349. }
  3350.  
  3351.  
  3352. /* method: wpclsSetIconData */
  3353. BOOL   wpclsSetIconData(PICONINFO pIconInfo)
  3354. {
  3355.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsSetIconData)
  3356.     (this,pIconInfo);
  3357. }
  3358.  
  3359.  
  3360. /* method: wpclsSetIcon */
  3361. BOOL   wpclsSetIcon(HPOINTER hptrNewIcon)
  3362. {
  3363.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsSetIcon)
  3364.     (this,hptrNewIcon);
  3365. }
  3366.  
  3367.  
  3368. /* method: wpclsObjectFromHandle */
  3369. WPObject*   wpclsObjectFromHandle(HOBJECT hObject)
  3370. {
  3371.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsObjectFromHandle)
  3372.     (this,hObject);
  3373. }
  3374.  
  3375.  
  3376. /* method: wpclsRemoveObjects */
  3377. BOOL   wpclsRemoveObjects(HWND hwndCnr,
  3378.         PVOID* pRecordArray,
  3379.         ULONG NumRecords,
  3380.         BOOL RemoveAll)
  3381. {
  3382.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsRemoveObjects)
  3383.     (this,hwndCnr,pRecordArray,NumRecords,RemoveAll);
  3384. }
  3385.  
  3386.  
  3387. /*
  3388.  * Reintroduce inherited methods
  3389.  */
  3390.  
  3391. /* method: _get_somDataAlignment */
  3392. long   _get_somDataAlignment()
  3393. {
  3394.    return SOM_ResolveD(this,M_WPObject,SOMClass,_get_somDataAlignment)
  3395.     (this);
  3396. }
  3397.  
  3398.  
  3399. /* nonstatic method: _get_somInstanceDataOffsets */
  3400. SOMClass_somOffsets   _get_somInstanceDataOffsets()
  3401. {
  3402.    return SOM_ResolveD(this,M_WPObject,SOMClass,_get_somInstanceDataOffsets)
  3403.     (this);
  3404. }
  3405.  
  3406.  
  3407. /* nonstatic method: _get_somDirectInitClasses */
  3408. SOMClass_SOMClassSequence   _get_somDirectInitClasses()
  3409. {
  3410.    return SOM_ResolveD(this,M_WPObject,SOMClass,_get_somDirectInitClasses)
  3411.     (this);
  3412. }
  3413.  
  3414.  
  3415. /* nonstatic method: _set_somDirectInitClasses */
  3416. void   _set_somDirectInitClasses(SOMClass_SOMClassSequence* somDirectInitClasses)
  3417. {
  3418.    SOM_ResolveD(this,M_WPObject,SOMClass,_set_somDirectInitClasses)
  3419.     (this,somDirectInitClasses);
  3420. }
  3421.  
  3422.  
  3423. /* method: somNew */
  3424. WPObject*  somNew()
  3425. {
  3426.    return SOM_ResolveD(this,M_WPObject,SOMClass,somNew)
  3427.     (this);
  3428. }
  3429.  
  3430.  
  3431. /* method: somNewNoInit */
  3432. SOMObject*   somNewNoInit()
  3433. {
  3434.    return SOM_ResolveD(this,M_WPObject,SOMClass,somNewNoInit)
  3435.     (this);
  3436. }
  3437.  
  3438.  
  3439. /* method: somRenew */
  3440. SOMObject*   somRenew(void* obj)
  3441. {
  3442.    return SOM_ResolveD(this,M_WPObject,SOMClass,somRenew)
  3443.     (this,obj);
  3444. }
  3445.  
  3446.  
  3447. /* method: somRenewNoInit */
  3448. SOMObject*   somRenewNoInit(void* obj)
  3449. {
  3450.    return SOM_ResolveD(this,M_WPObject,SOMClass,somRenewNoInit)
  3451.     (this,obj);
  3452. }
  3453.  
  3454.  
  3455. /* method: somRenewNoZero */
  3456. SOMObject*   somRenewNoZero(void* obj)
  3457. {
  3458.    return SOM_ResolveD(this,M_WPObject,SOMClass,somRenewNoZero)
  3459.     (this,obj);
  3460. }
  3461.  
  3462.  
  3463. /* method: somRenewNoInitNoZero */
  3464. SOMObject*   somRenewNoInitNoZero(void* obj)
  3465. {
  3466.    return SOM_ResolveD(this,M_WPObject,SOMClass,somRenewNoInitNoZero)
  3467.     (this,obj);
  3468. }
  3469.  
  3470.  
  3471. /* nonstatic method: somAllocate */
  3472. string   somAllocate(long size)
  3473. {
  3474.    return SOM_ResolveD(this,M_WPObject,SOMClass,somAllocate)
  3475.     (this,size);
  3476. }
  3477.  
  3478.  
  3479. /* nonstatic method: somDeallocate */
  3480. void   somDeallocate(string memptr)
  3481. {
  3482.    SOM_ResolveD(this,M_WPObject,SOMClass,somDeallocate)
  3483.     (this,memptr);
  3484. }
  3485.  
  3486.  
  3487. /* nonstatic method: _get_somClassAllocate */
  3488. somMethodProc*   _get_somClassAllocate()
  3489. {
  3490.    return SOM_ResolveD(this,M_WPObject,SOMClass,_get_somClassAllocate)
  3491.     (this);
  3492. }
  3493.  
  3494.  
  3495. /* nonstatic method: _get_somClassDeallocate */
  3496. somMethodProc*   _get_somClassDeallocate()
  3497. {
  3498.    return SOM_ResolveD(this,M_WPObject,SOMClass,_get_somClassDeallocate)
  3499.     (this);
  3500. }
  3501.  
  3502.  
  3503. /* method: somGetInstanceInitMask */
  3504. somBooleanVector   somGetInstanceInitMask(somInitCtrl* ctrl)
  3505. {
  3506.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetInstanceInitMask)
  3507.     (this,ctrl);
  3508. }
  3509.  
  3510.  
  3511. /* method: somGetInstanceDestructionMask */
  3512. somBooleanVector   somGetInstanceDestructionMask(somDestructCtrl* ctrl)
  3513. {
  3514.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetInstanceDestructionMask)
  3515.     (this,ctrl);
  3516. }
  3517.  
  3518.  
  3519. /* method: somGetInstanceAssignmentMask */
  3520. somBooleanVector   somGetInstanceAssignmentMask(somAssignCtrl* ctrl)
  3521. {
  3522.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetInstanceAssignmentMask)
  3523.     (this,ctrl);
  3524. }
  3525.  
  3526.  
  3527. /* method: somInitClass */
  3528. void   somInitClass(string className,
  3529.         SOMClass* parentClass,
  3530.         long dataSize,
  3531.         long maxStaticMethods,
  3532.         long majorVersion,
  3533.         long minorVersion)
  3534. {
  3535.    SOM_ResolveD(this,M_WPObject,SOMClass,somInitClass)
  3536.     (this,className,parentClass,dataSize,maxStaticMethods,majorVersion,minorVersion);
  3537. }
  3538.  
  3539.  
  3540. /* method: somInitMIClass */
  3541. void   somInitMIClass(long inherit_vars,
  3542.         string className,
  3543.         SOMClass_SOMClassSequence* parentClasses,
  3544.         long dataSize,
  3545.         long dataAlignment,
  3546.         long maxStaticMethods,
  3547.         long majorVersion,
  3548.         long minorVersion)
  3549. {
  3550.    SOM_ResolveD(this,M_WPObject,SOMClass,somInitMIClass)
  3551.     (this,inherit_vars,className,parentClasses,dataSize,dataAlignment,maxStaticMethods,majorVersion,minorVersion);
  3552. }
  3553.  
  3554.  
  3555. /* method: somAddStaticMethod */
  3556. somMToken   somAddStaticMethod(somId methodId,
  3557.         somId methodDescriptor,
  3558.         somMethodPtr method,
  3559.         somMethodPtr redispatchStub,
  3560.         somMethodPtr applyStub)
  3561. {
  3562.    return SOM_ResolveD(this,M_WPObject,SOMClass,somAddStaticMethod)
  3563.     (this,methodId,methodDescriptor,method,redispatchStub,applyStub);
  3564. }
  3565.  
  3566.  
  3567. /* method: somAddDynamicMethod */
  3568. void   somAddDynamicMethod(somId methodId,
  3569.         somId methodDescriptor,
  3570.         somMethodPtr method,
  3571.         somMethodPtr applyStub)
  3572. {
  3573.    SOM_ResolveD(this,M_WPObject,SOMClass,somAddDynamicMethod)
  3574.     (this,methodId,methodDescriptor,method,applyStub);
  3575. }
  3576.  
  3577.  
  3578. /* method: somOverrideSMethod */
  3579. void   somOverrideSMethod(somId methodId,
  3580.         somMethodPtr method)
  3581. {
  3582.    SOM_ResolveD(this,M_WPObject,SOMClass,somOverrideSMethod)
  3583.     (this,methodId,method);
  3584. }
  3585.  
  3586.  
  3587. /* method: somClassReady */
  3588. void   somClassReady()
  3589. {
  3590.    SOM_ResolveD(this,M_WPObject,SOMClass,somClassReady)
  3591.     (this);
  3592. }
  3593.  
  3594.  
  3595. /* method: somGetApplyStub */
  3596. somMethodPtr   somGetApplyStub(somId methodId)
  3597. {
  3598.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetApplyStub)
  3599.     (this,methodId);
  3600. }
  3601.  
  3602.  
  3603. /* method: somGetClassData */
  3604. somClassDataStructure*   somGetClassData()
  3605. {
  3606.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetClassData)
  3607.     (this);
  3608. }
  3609.  
  3610.  
  3611. /* method: somSetClassData */
  3612. void   somSetClassData(somClassDataStructure* cds)
  3613. {
  3614.    SOM_ResolveD(this,M_WPObject,SOMClass,somSetClassData)
  3615.     (this,cds);
  3616. }
  3617.  
  3618.  
  3619. /* method: somGetClassMtab */
  3620. somMethodTab*   somGetClassMtab()
  3621. {
  3622.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetClassMtab)
  3623.     (this);
  3624. }
  3625.  
  3626.  
  3627. /* method: somGetInstanceOffset */
  3628. long   somGetInstanceOffset()
  3629. {
  3630.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetInstanceOffset)
  3631.     (this);
  3632. }
  3633.  
  3634.  
  3635. /* method: somGetInstancePartSize */
  3636. long   somGetInstancePartSize()
  3637. {
  3638.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetInstancePartSize)
  3639.     (this);
  3640. }
  3641.  
  3642.  
  3643. /* method: somGetInstanceSize */
  3644. long   somGetInstanceSize()
  3645. {
  3646.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetInstanceSize)
  3647.     (this);
  3648. }
  3649.  
  3650.  
  3651. /* method: somGetInstanceToken */
  3652. somDToken   somGetInstanceToken()
  3653. {
  3654.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetInstanceToken)
  3655.     (this);
  3656. }
  3657.  
  3658.  
  3659. /* method: somGetMemberToken */
  3660. somDToken   somGetMemberToken(long memberOffset,
  3661.         somDToken instanceToken)
  3662. {
  3663.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetMemberToken)
  3664.     (this,memberOffset,instanceToken);
  3665. }
  3666.  
  3667.  
  3668. /* method: somGetMethodData */
  3669. boolean   somGetMethodData(somId methodId,
  3670.         somMethodData* md)
  3671. {
  3672.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetMethodData)
  3673.     (this,methodId,md);
  3674. }
  3675.  
  3676.  
  3677. /* method: somGetRdStub */
  3678. somMethodProc*   somGetRdStub(somId methodId)
  3679. {
  3680.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetRdStub)
  3681.     (this,methodId);
  3682. }
  3683.  
  3684.  
  3685. /* method: somGetMethodDescriptor */
  3686. somId   somGetMethodDescriptor(somId methodId)
  3687. {
  3688.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetMethodDescriptor)
  3689.     (this,methodId);
  3690. }
  3691.  
  3692.  
  3693. /* method: somGetMethodIndex */
  3694. long   somGetMethodIndex(somId id)
  3695. {
  3696.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetMethodIndex)
  3697.     (this,id);
  3698. }
  3699.  
  3700.  
  3701. /* method: somGetMethodToken */
  3702. somMToken   somGetMethodToken(somId methodId)
  3703. {
  3704.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetMethodToken)
  3705.     (this,methodId);
  3706. }
  3707.  
  3708.  
  3709. /* method: somGetName */
  3710. string   somGetName()
  3711. {
  3712.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetName)
  3713.     (this);
  3714. }
  3715.  
  3716.  
  3717. /* method: somGetNthMethodData */
  3718. boolean   somGetNthMethodData(long n,
  3719.         somMethodData* md)
  3720. {
  3721.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetNthMethodData)
  3722.     (this,n,md);
  3723. }
  3724.  
  3725.  
  3726. /* method: somGetNthMethodInfo */
  3727. somId   somGetNthMethodInfo(long n,
  3728.         somId* descriptor)
  3729. {
  3730.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetNthMethodInfo)
  3731.     (this,n,descriptor);
  3732. }
  3733.  
  3734.  
  3735. /* method: somGetNumMethods */
  3736. long   somGetNumMethods()
  3737. {
  3738.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetNumMethods)
  3739.     (this);
  3740. }
  3741.  
  3742.  
  3743. /* method: somGetNumStaticMethods */
  3744. long   somGetNumStaticMethods()
  3745. {
  3746.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetNumStaticMethods)
  3747.     (this);
  3748. }
  3749.  
  3750.  
  3751. /* method: somGetParent */
  3752. SOMClass*   somGetParent()
  3753. {
  3754.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetParent)
  3755.     (this);
  3756. }
  3757.  
  3758.  
  3759. /* method: somGetParents */
  3760. SOMClass_SOMClassSequence   somGetParents()
  3761. {
  3762.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetParents)
  3763.     (this);
  3764. }
  3765.  
  3766.  
  3767. /* method: somGetPClsMtab */
  3768. somMethodTabs   somGetPClsMtab()
  3769. {
  3770.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetPClsMtab)
  3771.     (this);
  3772. }
  3773.  
  3774.  
  3775. /* method: somGetPClsMtabs */
  3776. somMethodTabs   somGetPClsMtabs()
  3777. {
  3778.    return SOM_ResolveD(this,M_WPObject,SOMClass,somGetPClsMtabs)
  3779.     (this);
  3780. }
  3781.  
  3782.  
  3783. /* method: somGetVersionNumbers */
  3784. void   somGetVersionNumbers(long* majorVersion,
  3785.         long* minorVersion)
  3786. {
  3787.    SOM_ResolveD(this,M_WPObject,SOMClass,somGetVersionNumbers)
  3788.     (this,majorVersion,minorVersion);
  3789. }
  3790.  
  3791.  
  3792. /* method: somSetMethodDescriptor */
  3793. boolean   somSetMethodDescriptor(somId methodId,
  3794.         somId descriptor)
  3795. {
  3796.    return SOM_ResolveD(this,M_WPObject,SOMClass,somSetMethodDescriptor)
  3797.     (this,methodId,descriptor);
  3798. }
  3799.  
  3800.  
  3801. /* method: somFindMethod */
  3802. boolean   somFindMethod(somId methodId,
  3803.         somMethodPtr* m)
  3804. {
  3805.    return SOM_ResolveD(this,M_WPObject,SOMClass,somFindMethod)
  3806.     (this,methodId,m);
  3807. }
  3808.  
  3809.  
  3810. /* method: somFindMethodOk */
  3811. boolean   somFindMethodOk(somId methodId,
  3812.         somMethodPtr* m)
  3813. {
  3814.    return SOM_ResolveD(this,M_WPObject,SOMClass,somFindMethodOk)
  3815.     (this,methodId,m);
  3816. }
  3817.  
  3818.  
  3819. /* method: somFindSMethod */
  3820. somMethodPtr   somFindSMethod(somId methodId)
  3821. {
  3822.    return SOM_ResolveD(this,M_WPObject,SOMClass,somFindSMethod)
  3823.     (this,methodId);
  3824. }
  3825.  
  3826.  
  3827. /* method: somFindSMethodOk */
  3828. somMethodPtr   somFindSMethodOk(somId methodId)
  3829. {
  3830.    return SOM_ResolveD(this,M_WPObject,SOMClass,somFindSMethodOk)
  3831.     (this,methodId);
  3832. }
  3833.  
  3834.  
  3835. /* method: somLookupMethod */
  3836. somMethodPtr   somLookupMethod(somId methodId)
  3837. {
  3838.    return SOM_ResolveD(this,M_WPObject,SOMClass,somLookupMethod)
  3839.     (this,methodId);
  3840. }
  3841.  
  3842.  
  3843. /* method: somCheckVersion */
  3844. boolean   somCheckVersion(long majorVersion,
  3845.         long minorVersion)
  3846. {
  3847.    return SOM_ResolveD(this,M_WPObject,SOMClass,somCheckVersion)
  3848.     (this,majorVersion,minorVersion);
  3849. }
  3850.  
  3851.  
  3852. /* method: somDescendedFrom */
  3853. boolean   somDescendedFrom(SOMClass* aClassObj)
  3854. {
  3855.    return SOM_ResolveD(this,M_WPObject,SOMClass,somDescendedFrom)
  3856.     (this,aClassObj);
  3857. }
  3858.  
  3859.  
  3860. /* method: somSupportsMethod */
  3861. boolean   somSupportsMethod(somId mId)
  3862. {
  3863.    return SOM_ResolveD(this,M_WPObject,SOMClass,somSupportsMethod)
  3864.     (this,mId);
  3865. }
  3866.  
  3867.  
  3868. /* method: somDefinedMethod */
  3869. somMethodPtr   somDefinedMethod(somMToken method)
  3870. {
  3871.    return SOM_ResolveD(this,M_WPObject,SOMClass,somDefinedMethod)
  3872.     (this,method);
  3873. }
  3874.  
  3875.  
  3876. /* method: somOverrideMtab */
  3877. void   somOverrideMtab()
  3878. {
  3879.    SOM_ResolveD(this,M_WPObject,SOMClass,somOverrideMtab)
  3880.     (this);
  3881. }
  3882.  
  3883.  
  3884. /* initializer method: somDefaultInit */
  3885. void   somDefaultInit(somInitCtrl* ctrl)
  3886. {
  3887.    SOM_ResolveD(this,M_WPObject,SOMObject,somDefaultInit)
  3888.     (this,ctrl);
  3889. }
  3890.  
  3891.  
  3892. /* method: somDestruct */
  3893. void   somDestruct(octet doFree,
  3894.         somDestructCtrl* ctrl)
  3895. {
  3896.    SOM_ResolveD(this,M_WPObject,SOMObject,somDestruct)
  3897.     (this,doFree,ctrl);
  3898. }
  3899.  
  3900.  
  3901. /* method: somDefaultCopyInit */
  3902. void   somDefaultCopyInit(somInitCtrl* ctrl,
  3903.         SOMObject* fromObj)
  3904. {
  3905.    SOM_ResolveD(this,M_WPObject,SOMObject,somDefaultCopyInit)
  3906.     (this,ctrl,fromObj);
  3907. }
  3908.  
  3909.  
  3910. /* method: somDefaultAssign */
  3911. M_WPObject*  somDefaultAssign(somAssignCtrl* ctrl,
  3912.         SOMObject* fromObj)
  3913. {
  3914.    return SOM_ResolveD(this,M_WPObject,SOMObject,somDefaultAssign)
  3915.     (this,ctrl,fromObj);
  3916. }
  3917.  
  3918.  
  3919. /* method: somDefaultConstCopyInit */
  3920. void   somDefaultConstCopyInit(somInitCtrl* ctrl,
  3921.         SOMObject* fromObj)
  3922. {
  3923.    SOM_ResolveD(this,M_WPObject,SOMObject,somDefaultConstCopyInit)
  3924.     (this,ctrl,fromObj);
  3925. }
  3926.  
  3927.  
  3928. /* method: somDefaultVCopyInit */
  3929. void   somDefaultVCopyInit(somInitCtrl* ctrl,
  3930.         SOMObject* fromObj)
  3931. {
  3932.    SOM_ResolveD(this,M_WPObject,SOMObject,somDefaultVCopyInit)
  3933.     (this,ctrl,fromObj);
  3934. }
  3935.  
  3936.  
  3937. /* method: somDefaultConstVCopyInit */
  3938. void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
  3939.         SOMObject* fromObj)
  3940. {
  3941.    SOM_ResolveD(this,M_WPObject,SOMObject,somDefaultConstVCopyInit)
  3942.     (this,ctrl,fromObj);
  3943. }
  3944.  
  3945.  
  3946. /* method: somDefaultConstAssign */
  3947. M_WPObject*  somDefaultConstAssign(somAssignCtrl* ctrl,
  3948.         SOMObject* fromObj)
  3949. {
  3950.    return SOM_ResolveD(this,M_WPObject,SOMObject,somDefaultConstAssign)
  3951.     (this,ctrl,fromObj);
  3952. }
  3953.  
  3954.  
  3955. /* method: somDefaultVAssign */
  3956. M_WPObject*  somDefaultVAssign(somAssignCtrl* ctrl,
  3957.         SOMObject* fromObj)
  3958. {
  3959.    return SOM_ResolveD(this,M_WPObject,SOMObject,somDefaultVAssign)
  3960.     (this,ctrl,fromObj);
  3961. }
  3962.  
  3963.  
  3964. /* method: somDefaultConstVAssign */
  3965. M_WPObject*  somDefaultConstVAssign(somAssignCtrl* ctrl,
  3966.         SOMObject* fromObj)
  3967. {
  3968.    return SOM_ResolveD(this,M_WPObject,SOMObject,somDefaultConstVAssign)
  3969.     (this,ctrl,fromObj);
  3970. }
  3971.  
  3972.  
  3973. /* method: somInit */
  3974. void   somInit()
  3975. {
  3976.    SOM_ResolveD(this,M_WPObject,SOMObject,somInit)
  3977.     (this);
  3978. }
  3979.  
  3980.  
  3981. /* method: somFree */
  3982. void   somFree()
  3983. {
  3984.    SOM_ResolveD(this,M_WPObject,SOMObject,somFree)
  3985.     (this);
  3986. }
  3987.  
  3988.  
  3989. /* method: somUninit */
  3990. void   somUninit()
  3991. {
  3992.    SOM_ResolveD(this,M_WPObject,SOMObject,somUninit)
  3993.     (this);
  3994. }
  3995.  
  3996.  
  3997. /* method: somGetClass */
  3998. SOMClass*   somGetClass()
  3999. {
  4000.    return SOM_ResolveD(this,M_WPObject,SOMObject,somGetClass)
  4001.     (this);
  4002. }
  4003.  
  4004.  
  4005. /* method: somGetClassName */
  4006. string   somGetClassName()
  4007. {
  4008.    return SOM_ResolveD(this,M_WPObject,SOMObject,somGetClassName)
  4009.     (this);
  4010. }
  4011.  
  4012.  
  4013. /* method: somGetSize */
  4014. long   somGetSize()
  4015. {
  4016.    return SOM_ResolveD(this,M_WPObject,SOMObject,somGetSize)
  4017.     (this);
  4018. }
  4019.  
  4020.  
  4021. /* method: somIsA */
  4022. boolean   somIsA(SOMClass* aClassObj)
  4023. {
  4024.    return SOM_ResolveD(this,M_WPObject,SOMObject,somIsA)
  4025.     (this,aClassObj);
  4026. }
  4027.  
  4028.  
  4029. /* method: somIsInstanceOf */
  4030. boolean   somIsInstanceOf(SOMClass* aClassObj)
  4031. {
  4032.    return SOM_ResolveD(this,M_WPObject,SOMObject,somIsInstanceOf)
  4033.     (this,aClassObj);
  4034. }
  4035.  
  4036.  
  4037. /* method: somRespondsTo */
  4038. boolean   somRespondsTo(somId mId)
  4039. {
  4040.    return SOM_ResolveD(this,M_WPObject,SOMObject,somRespondsTo)
  4041.     (this,mId);
  4042. }
  4043.  
  4044.  
  4045. /* va_list method: somDispatch */
  4046. /* the va_list invocation form */
  4047. boolean   M_WPObject_somDispatch(somToken* retValue,
  4048.         somId methodId,
  4049.         va_list ap)
  4050. {
  4051. return SOM_ResolveD(this,M_WPObject,SOMObject,somDispatch)
  4052.     (this,retValue,methodId,ap);
  4053. }
  4054.  
  4055. /* the varargs invocation form */
  4056. boolean   somDispatch(somToken* retValue,
  4057.         somId methodId,
  4058.         ...)
  4059. {
  4060.    va_list ap;
  4061.    va_start(ap, methodId);
  4062.    boolean __somResult = 
  4063.       SOM_ResolveD(this,M_WPObject,SOMObject,somDispatch)
  4064.     (this,retValue,methodId,ap);
  4065.    va_end(ap);
  4066.    return __somResult;
  4067. }
  4068.  
  4069.  
  4070. /* va_list method: somClassDispatch */
  4071. /* the va_list invocation form */
  4072. boolean   M_WPObject_somClassDispatch(SOMClass* clsObj,
  4073.         somToken* retValue,
  4074.         somId methodId,
  4075.         va_list ap)
  4076. {
  4077. return SOM_ResolveD(this,M_WPObject,SOMObject,somClassDispatch)
  4078.     (this,clsObj,retValue,methodId,ap);
  4079. }
  4080.  
  4081. /* the varargs invocation form */
  4082. boolean   somClassDispatch(SOMClass* clsObj,
  4083.         somToken* retValue,
  4084.         somId methodId,
  4085.         ...)
  4086. {
  4087.    va_list ap;
  4088.    va_start(ap, methodId);
  4089.    boolean __somResult = 
  4090.       SOM_ResolveD(this,M_WPObject,SOMObject,somClassDispatch)
  4091.     (this,clsObj,retValue,methodId,ap);
  4092.    va_end(ap);
  4093.    return __somResult;
  4094. }
  4095.  
  4096.  
  4097. /* method: somCastObj */
  4098. boolean   somCastObj(SOMClass* cls)
  4099. {
  4100.    return SOM_ResolveD(this,M_WPObject,SOMObject,somCastObj)
  4101.     (this,cls);
  4102. }
  4103.  
  4104.  
  4105. /* method: somResetObj */
  4106. boolean   somResetObj()
  4107. {
  4108.    return SOM_ResolveD(this,M_WPObject,SOMObject,somResetObj)
  4109.     (this);
  4110. }
  4111.  
  4112.  
  4113. /* va_list method: somDispatchV */
  4114. /* the va_list invocation form */
  4115. void   M_WPObject_somDispatchV(somId methodId,
  4116.         somId descriptor,
  4117.         va_list ap)
  4118. {
  4119.    SOM_ResolveD(this,M_WPObject,SOMObject,somDispatchV)
  4120.     (this,methodId,descriptor,ap);
  4121. }
  4122.  
  4123. /* the varargs invocation form */
  4124. void   somDispatchV(somId methodId,
  4125.         somId descriptor,
  4126.         ...)
  4127. {
  4128.    va_list ap;
  4129.    va_start(ap, descriptor);
  4130.    SOM_ResolveD(this,M_WPObject,SOMObject,somDispatchV)
  4131.     (this,methodId,descriptor,ap);
  4132.    va_end(ap);
  4133. }
  4134.  
  4135.  
  4136. /* va_list method: somDispatchL */
  4137. /* the va_list invocation form */
  4138. long   M_WPObject_somDispatchL(somId methodId,
  4139.         somId descriptor,
  4140.         va_list ap)
  4141. {
  4142. return SOM_ResolveD(this,M_WPObject,SOMObject,somDispatchL)
  4143.     (this,methodId,descriptor,ap);
  4144. }
  4145.  
  4146. /* the varargs invocation form */
  4147. long   somDispatchL(somId methodId,
  4148.         somId descriptor,
  4149.         ...)
  4150. {
  4151.    va_list ap;
  4152.    va_start(ap, descriptor);
  4153.    long __somResult = 
  4154.       SOM_ResolveD(this,M_WPObject,SOMObject,somDispatchL)
  4155.     (this,methodId,descriptor,ap);
  4156.    va_end(ap);
  4157.    return __somResult;
  4158. }
  4159.  
  4160.  
  4161. /* va_list method: somDispatchA */
  4162. /* the va_list invocation form */
  4163. void*   M_WPObject_somDispatchA(somId methodId,
  4164.         somId descriptor,
  4165.         va_list ap)
  4166. {
  4167. return SOM_ResolveD(this,M_WPObject,SOMObject,somDispatchA)
  4168.     (this,methodId,descriptor,ap);
  4169. }
  4170.  
  4171. /* the varargs invocation form */
  4172. void*   somDispatchA(somId methodId,
  4173.         somId descriptor,
  4174.         ...)
  4175. {
  4176.    va_list ap;
  4177.    va_start(ap, descriptor);
  4178.    void* __somResult = 
  4179.       SOM_ResolveD(this,M_WPObject,SOMObject,somDispatchA)
  4180.     (this,methodId,descriptor,ap);
  4181.    va_end(ap);
  4182.    return __somResult;
  4183. }
  4184.  
  4185.  
  4186. /* va_list method: somDispatchD */
  4187. /* the va_list invocation form */
  4188. double   M_WPObject_somDispatchD(somId methodId,
  4189.         somId descriptor,
  4190.         va_list ap)
  4191. {
  4192. return SOM_ResolveD(this,M_WPObject,SOMObject,somDispatchD)
  4193.     (this,methodId,descriptor,ap);
  4194. }
  4195.  
  4196. /* the varargs invocation form */
  4197. double   somDispatchD(somId methodId,
  4198.         somId descriptor,
  4199.         ...)
  4200. {
  4201.    va_list ap;
  4202.    va_start(ap, descriptor);
  4203.    double __somResult = 
  4204.       SOM_ResolveD(this,M_WPObject,SOMObject,somDispatchD)
  4205.     (this,methodId,descriptor,ap);
  4206.    va_end(ap);
  4207.    return __somResult;
  4208. }
  4209.  
  4210.  
  4211. /* method: somPrintSelf */
  4212. SOMObject*   somPrintSelf()
  4213. {
  4214.    return SOM_ResolveD(this,M_WPObject,SOMObject,somPrintSelf)
  4215.     (this);
  4216. }
  4217.  
  4218.  
  4219. /* method: somDumpSelf */
  4220. void   somDumpSelf(long level)
  4221. {
  4222.    SOM_ResolveD(this,M_WPObject,SOMObject,somDumpSelf)
  4223.     (this,level);
  4224. }
  4225.  
  4226.  
  4227. /* method: somDumpSelfInt */
  4228. void   somDumpSelfInt(long level)
  4229. {
  4230.    SOM_ResolveD(this,M_WPObject,SOMObject,somDumpSelfInt)
  4231.     (this,level);
  4232. }
  4233.  
  4234.  
  4235.  
  4236. };   /* M_WPObject */
  4237.  
  4238.  
  4239.  
  4240. #endif       /* SOM_M_WPObject_xh */
  4241.