home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / devtools / os2tk21j / cplus / os2h / wpobject.xh_ / wpobject.xh
Encoding:
Text File  |  1993-04-30  |  64.4 KB  |  1,990 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: wpobject.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler spc: 1.22
  7.  *     SOM Emitter emitxh: 1.11
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Module Header
  13.  * 
  14.  *  Module Name: WPOBJECT
  15.  * 
  16.  *  OS/2 Presentation Manager Workplace class definitions
  17.  * 
  18.  *  Copyright (c) International Business Machines Corporation 1991, 1992
  19.  * 
  20.  */
  21.  
  22. #ifndef wpobject_xh
  23. #define wpobject_xh
  24. class WPObject;
  25.  
  26. #define WPObject_MajorVersion 1
  27. #define WPObject_MinorVersion 2
  28.  
  29.  
  30. /*
  31.  * Passthru lines: File: "C.xh", "before"
  32.  */
  33.  
  34.    #define INCL_WINSTDCNR
  35.    #include <pmstddlg.h>
  36.  
  37.      class M_WPObject;
  38.      class WPObject;
  39.  
  40.       /* Object style flags (see wpSetStyle) */
  41.  
  42.       #define OBJSTYLE_NOMOVE          2
  43.       #define OBJSTYLE_NOLINK          4
  44.       #define OBJSTYLE_NOCOPY          8
  45.       #define OBJSTYLE_NOTDEFAULTICON 16
  46.       #define OBJSTYLE_TEMPLATE       32
  47.       #define OBJSTYLE_NODELETE       64
  48.       #define OBJSTYLE_NOPRINT       128
  49.       #define OBJSTYLE_NODRAG        256
  50.       #define OBJSTYLE_NOTVISIBLE    512
  51.       #define OBJSTYLE_NOSETTINGS   1024
  52.       #define OBJSTYLE_NORENAME     2048
  53.       #define OBJSTYLE_NODROP       4096
  54.  
  55.       /*  Class style flags (see wpclsQueryStyle) */
  56.  
  57.       #define CLSSTYLE_NEVERMOVE      OBJSTYLE_NOMOVE
  58.       #define CLSSTYLE_NEVERLINK      OBJSTYLE_NOLINK
  59.       #define CLSSTYLE_NEVERCOPY      OBJSTYLE_NOCOPY
  60.       #define CLSSTYLE_NEVERTEMPLATE  16
  61.       #define CLSSTYLE_NEVERDELETE    OBJSTYLE_NODELETE
  62.       #define CLSSTYLE_NEVERPRINT     OBJSTYLE_NOPRINT
  63.       #define CLSSTYLE_NEVERDRAG      OBJSTYLE_NODRAG
  64.       #define CLSSTYLE_NEVERVISIBLE   OBJSTYLE_NOTVISIBLE
  65.       #define CLSSTYLE_NEVERRENAME    OBJSTYLE_NORENAME
  66.       #define CLSSTYLE_PRIVATE        4096
  67.  
  68.       /*  Flags for the wpFilterPopupMenu() method */
  69.  
  70.       #define CTXT_CRANOTHER     0x0001   /* Flags for ulFlags */
  71.       #define CTXT_NEW           CTXT_CRANOTHER
  72.       #define CTXT_OPEN          0x0002
  73.       #define CTXT_WINDOW        0x0004
  74.       #define CTXT_SWITCHTO      CTXT_WINDOW
  75.       #define CTXT_CLOSE         0x0008
  76.       #define CTXT_SETTINGS      0x0010
  77.       #define CTXT_PRINT         0x0020
  78.       #define CTXT_HELP          0x0040
  79.       #define CTXT_DELETE        0x0080
  80.       #define CTXT_COPY          0x0100
  81.       #define CTXT_MOVE          0x0200
  82.       #define CTXT_SHADOW        0x0400
  83.       #define CTXT_LINK          CTXT_SHADOW
  84.       #define CTXT_PROGRAM       0x0800
  85.       #define CTXT_ICON        0x001000
  86.       #define CTXT_TREE        0x002000
  87.       #define CTXT_DETAILS     0x004000
  88.       #define CTXT_FIND        0x008000
  89.       #define CTXT_SELECT      0x010000
  90.       #define CTXT_ARRANGE     0x020000
  91.       #define CTXT_SORT        0x040000
  92.       #define CTXT_SHUTDOWN    0x080000
  93.       #define CTXT_LOCKUP      0x100000
  94.       #define CTXT_PALETTE     0x200000
  95.       #define CTXT_REFRESH     0x400000
  96.  
  97.  
  98.  
  99.       /* common context menu ids */
  100.  
  101.       #define WPMENUID_USER          0x6500
  102.       #define WPMENUID_PRIMARY            0
  103.       #define WPMENUID_OPEN               1
  104.       #define WPMENUID_HELP               2
  105.       #define WPMENUID_PRINT              3
  106.       #define WPMENUID_SELECT     4
  107.       #define WPMENUID_SORT       5
  108.  
  109.  
  110.       /*  Open views for the wpOpen() method */
  111.  
  112.       #define OPEN_UNKNOWN      -1
  113.       #define OPEN_DEFAULT       0
  114.       #define OPEN_CONTENTS      1
  115.       #define OPEN_SETTINGS      2
  116.       #define OPEN_HELP          3
  117.       #define OPEN_RUNNING       4
  118.       #define OPEN_PROMPTDLG     5
  119.       #define OPEN_PALETTE       121                                   /*SPLIT*/
  120.       #define OPEN_USER          0x6500
  121.  
  122.       /*  Definitions for the INUSE list that is kept
  123.        *  for every object via wpAddToObjUseList and
  124.        *  wpRemoveFromObjUseList methods...
  125.        */
  126.  
  127.       /* This structure is always followed immediately by a type
  128.        * dependant struct such as MEMORYITEM,RECORDITEM,VIEWITEM
  129.        * or some other user defined structure...
  130.        */
  131.       typedef struct _USEITEM
  132.       {
  133.          ULONG  type;                  /* Type of this Item */
  134.          struct _USEITEM *pNext;   /* Next item in use list */
  135.       } USEITEM;
  136.       typedef USEITEM *PUSEITEM;
  137.  
  138.       #define USAGE_MEMORY          1  /* Values of 'type' */
  139.       #define USAGE_RECORD          4
  140.       #define USAGE_OPENVIEW        5
  141.       #define USAGE_LINK            6
  142.       #define USAGE_OPENFILE       20
  143.  
  144.       typedef struct _MEMORYITEM       /* USAGE_MEMORY struct */
  145.       {
  146.          ULONG     cbBuffer;           /* Number of bytes in memory block */
  147.       } MEMORYITEM;
  148.       typedef MEMORYITEM *PMEMORYITEM;
  149.  
  150.       typedef struct _RECORDITEM       /* USAGE_RECORD struct */
  151.       {
  152.          HWND            hwndCnr;      /* Cnr into which object is inserted */
  153.          PMINIRECORDCORE pRecord;      /* Record pointer within that cnr */
  154.          ULONG           ulUser;       /* For application use */         //RECSH
  155.       } RECORDITEM;
  156.       typedef RECORDITEM *PRECORDITEM;
  157.  
  158.       #define VIEWSTATE_OPENING       0x0001   /* The view is being opened */
  159.       #define VIEWSTATE_OBJECTDELETED 0x0002   /* The object is being deleted */
  160.       #define VIEWSTATE_USERHIDDEN    0x0004   /* The view was hidden by user */
  161.       #define VIEWSTATE_POPULATING    0x0008   /* The view is populating      */
  162.  
  163.       typedef struct _VIEWITEM         /* USAGE_OPENVIEW struct */
  164.       {
  165.          ULONG        view;            /* Object view that this represents */
  166.          LHANDLE      handle;          /* Open handle */
  167.          ULONG        ulViewState;     /* View State flags */
  168.          HWND         hwndCnr;         /* System use only (window animation) */
  169.          PMINIRECORDCORE pRecord;      /* System use only (window animation) */
  170.       } VIEWITEM;
  171.       typedef VIEWITEM *PVIEWITEM;
  172.  
  173.       typedef struct _LINKITEM         /* USAGE_LINK struct */
  174.       {
  175.          WPObject    *LinkObj;         /* The link object */
  176.       } LINKITEM;
  177.       typedef LINKITEM *PLINKITEM;
  178.  
  179.       typedef struct _VIEWFILE         /* USAGE_OPENFILE struct */
  180.       {
  181.          ULONG        ulMenuId;        /* Menu id if association or menu page */
  182.          LHANDLE      handle;          /* Open handle */
  183.          HWND         hwndCnr;         /* System use only (window animation) */
  184.          PMINIRECORDCORE pRecord;      /* System use only (window animation) */
  185.       } VIEWFILE;
  186.       typedef VIEWFILE *PVIEWFILE;
  187.  
  188.       /* Notes: The class name immediately follows the control block. The
  189.        *        first instance variable control block immediately follows
  190.        *        this.
  191.        */
  192.       typedef struct _WPSRCLASSBLOCK
  193.       {
  194.         SHORT   ClassNameLength;       /* Length of class name, including the
  195.                                         * .. null terminator. This must be a
  196.                                         * .. SHORT and must be at the beginning
  197.                                         * .. of the structure.
  198.                                         */
  199.         USHORT  IVarLength;            /* Length of instance variable
  200.                                         * .. information, including the two-
  201.                                         * .. byte null terminator
  202.                                         */
  203.       } WPSRCLASSBLOCK;
  204.  
  205.       /*  Persistant storage structures (see wpSaveShort
  206.        *  and wpRestoreShort etc...)
  207.        */
  208.  
  209.  
  210.       /* This control structure does not reside in the dormant state.
  211.        * It is used only when a persistant data block is
  212.        * resident in memory - either when an object is being saved or
  213.        * when it is being restored...
  214.        */
  215.       typedef struct _OBJDATA
  216.       {
  217.          WPSRCLASSBLOCK       *CurrentClass;
  218.          WPSRCLASSBLOCK       *First;
  219.          PUCHAR                NextData;
  220.          USHORT                Length;
  221.       } OBJDATA;
  222.       typedef OBJDATA *POBJDATA;
  223.  
  224.       /*  wpCnrInsertObject/wpCnrRemoveObject structs
  225.        *  and macros...
  226.        */
  227.  
  228.       typedef struct _CLASSDETAILS     /* Class Details struct */
  229.       {
  230.          PSZ          pszAttribute;    /* Translatable string for a class attribute*/
  231.          PVOID        pSortRecord;     /* Function pointer for sort function for attribute*/
  232.          struct _CLASSDETAILS *pNext; /* Next item in class details list */
  233.       } CLASSDETAILS;
  234.       typedef CLASSDETAILS *PCLASSDETAILS;
  235.  
  236.       /* Macro to return the object associated with a given MINIRECORDCORE
  237.        * that was inserted using the wpCnrInsertObject method
  238.        */
  239.       #define OBJECT_FROM_PREC( prec )   ( (WPObject *)( * (((PULONG)prec)-2) ) )
  240.  
  241.       /* Macro to access the app defineable dword within the RECORDITEM
  242.        * structure that is created when an object is put into a list
  243.        * control using the wpCnrInsertObject method.
  244.        */
  245.       PULONG EXPENTRY ShlGetUserWordPtr(
  246.          HWND            hwndCnr,
  247.          PMINIRECORDCORE prec );
  248.  
  249.       #define USERWORD_FROM_PREC( hwnd, prec )              \
  250.          ( (ULONG)( *ShlGetUserWordPtr(hwnd,prec) ) )
  251.  
  252.       /* Details comparison function definition
  253.        *
  254.        *    Param1  PVOID   - Pointer to details field value
  255.        *    Param2  PVOID   - Pointer to value to be compared with
  256.        *
  257.        *    Returns LONG    - Must be CMP_EQUAL, CMP_GREATER, CMP_LESS
  258.        */
  259.       typedef LONG (EXPENTRY FNCOMPARE)(PVOID,PVOID);
  260.       typedef FNCOMPARE *PFNCOMPARE;
  261.  
  262.       #define CMP_EQUAL            0
  263.       #define CMP_GREATER          1
  264.       #define CMP_LESS             2
  265.       #define CMP_GREATER_OR_EQUAL 3
  266.       #define CMP_LESS_OR_EQUAL    4
  267.       #define CMP_NOT_EQUAL        5
  268.  
  269.       #define NUM_CMP_VALUES       6
  270.  
  271.       /* Owner draw function definition
  272.        *
  273.        *    Param1  HWND  - Handle of window that is being painted
  274.        *    Param2  PVOID - POWNERITEM structure pointer, see the container
  275.        *                    control programming reference for the meaning
  276.        *                    of the fields in this structure.
  277.        *    Param3  PVOID - Pointer to the comparison value to draw (this
  278.        *                    is NULL, except when this function is painting
  279.        *                    its value into the include criteria dialog
  280.        *                    when it points to Criteria.CompareValue...)
  281.        *
  282.        *    Returns BOOL  - TRUE if the field was ownerdrawn, FALSE if the
  283.        *                    container control should do default painting.
  284.        */
  285.       typedef BOOL (EXPENTRY FNOWNDRW)(HWND,PVOID,PVOID);
  286.       typedef FNOWNDRW *PFNOWNDRW;
  287.  
  288.       /* Details comparison criteria structure
  289.        */
  290.       typedef struct _CRITERIA
  291.       {
  292.          PVOID            pReserved;           /* Reserved - MUST be null!!!! */
  293.          struct _CRITERIA *pNext;
  294.          struct _CRITERIA *pPrev;
  295.          ULONG            ClassFieldInfoIndex; /* Index of the details field  */
  296.          ULONG            LogicalOperator;     /* CRITERIA_AND or CRITERIA_OR */
  297.          ULONG            ComparisonType;      /* CMP_LESS_OR_EQUAL etc...    */
  298.          ULONG            ulLenCompareValue;   /* sizeof(ComparisonData)      */
  299.          CHAR             CompareValue[1];     /* Value to be compared with   */
  300.       } CRITERIA;
  301.       typedef CRITERIA *PCRITERIA;
  302.  
  303.       #define CRITERIA_AND        0
  304.       #define CRITERIA_OR         1
  305.  
  306.       /* ClassCriteria structure: points to a linked list of CRITERIA
  307.        * for the given class. ClassCriteria may be linked into a list
  308.        * too - and passed to a filter object, or the wpclsFindObjectFirst
  309.        * method call...
  310.        */
  311.       typedef struct _CLASSCRITERIA                                     /*!INC*/
  312.       {
  313.          struct _CLASSCRITERIA *pNext;
  314.          struct _CLASSCRITERIA *pPrev;
  315.          M_WPObject            *Class;          /* Class object */
  316.          PCRITERIA              pCriteria;      /* Linked list of criteria */
  317.          WPObject              *NotifyObject;   /* Owner of the criteria list */
  318.       } CLASSCRITERIA;
  319.       typedef CLASSCRITERIA *PCLASSCRITERIA;
  320.  
  321.       /* This structure is passed to a details criteria edit window
  322.        * when it is created, so that it knows the current value and
  323.        * min/max values for the criteria to be edited.
  324.        *
  325.        * As the user modifies the compare value using the criteria
  326.        * edit window, it should update the buffer pointed to by
  327.        * 'pCompareValue'.
  328.        */
  329.       typedef struct _EDITCTLINIT                                       /*!INC*/
  330.       {
  331.          ULONG cb;                /* must have length in control data! MindyP */
  332.          PVOID pCompareValue;     /* Buffer containing the current value */
  333.          ULONG ulLenCompareValue; /* Length of pCompareValue buffer */
  334.          PVOID pMinCompareValue;  /* READ-ONLY parameter, NULL => default */
  335.          PVOID pMaxCompareValue;  /* READ-ONLY parameter, NULL => default */
  336.       } EDITCTLINIT;
  337.       typedef EDITCTLINIT *PEDITCTLINIT;
  338.  
  339.       /* Structure for wpclsQueryDetailsInfo method
  340.        *
  341.        * CLASSFIELDINFO is identical to the FIELDINFO structure of the
  342.        * container control with the following differences:
  343.        *
  344.        * - The offStruct field from FIELDINFO is reserved.
  345.        * - The offFieldData and usLenFieldData structure elements have
  346.        *   been added.
  347.        * - Compare/Sort/Ownerdraw fields have also been added for the
  348.        *   convenience of the programmer, so that object details can
  349.        *   be customized and objects can be found or included by any
  350.        *   of their displayable object details.
  351.        *
  352.        * For example if the application has the following details data:
  353.        *
  354.        * typedef struct _SAMPLE {
  355.        *   CDATE   cdate;
  356.        *   CTIME   ctime;
  357.        *   PSZ     psz;
  358.        * }  SAMPLE;
  359.        *
  360.        * classfieldinfo[0].offFieldData   = FIELDOFFSET(SAMPLE,cdate);
  361.        * classfieldinfo[0].ulLenFieldData = FIELDOFFSET(SAMPLE,ctime) -
  362.        *                                    FIELDOFFSET(SAMPLE,cdate);
  363.        *
  364.        * classfieldinfo[1].offFieldData   = FIELDOFFSET(SAMPLE,ctime);
  365.        * classfieldinfo[1].ulLenFieldData = FIELDOFFSET(SAMPLE,psz) -
  366.        *                                    FIELDOFFSET(SAMPLE,ctime);
  367.        *
  368.        * classfieldinfo[2].offFieldData   = FIELDOFFSET(SAMPLE,psz);
  369.        * classfieldinfo[2].ulLenFieldData = sizeof(SAMPLE) -
  370.        *                                    FIELDOFFSET(SAMPLE,psz);
  371.        *
  372.        * NOTE: It is essential that the fields be linked in order ex. above
  373.        *       cdate must be followed by ctime and finally psz.
  374.        */
  375.       typedef struct _CLASSFIELDINFO                                    /*!INC*/
  376.       {
  377.          /* Details field attributes
  378.           */
  379.          ULONG      cb;                  /* size of CLASSFIELDINFO struct  */
  380.          ULONG      flData;              /* attributes of field's data     */
  381.          ULONG      flTitle;             /* attributes of field's title    */
  382.          PVOID      pTitleData;          /* title data (default is string) */
  383.                                          /* If CFT_BITMAP, must be HBITMAP */
  384.          ULONG      ulReserved;          /* Reserved                       */
  385.          PVOID      pUserData;           /* pointer to user data           */
  386.          struct _CLASSFIELDINFO *pNextFieldInfo; /* pointer to next linked */
  387.                                                 /* CLASSFIELDINFO structure*/
  388.          ULONG      cxWidth;             /* width of field in pels         */
  389.          ULONG      offFieldData;        /* offset from beginning of       */
  390.                                          /*   this class's data for this   */
  391.                                          /*   field. (first field is 0).   */
  392.          ULONG      ulLenFieldData;      /* width of data in bytes.        */
  393.                                          /*   (4 for a pointer).           */
  394.          PFNOWNDRW  pfnOwnerDraw;        /* Ownerdraw procedure for detail */
  395.                                          /* column. Can be NULL except if  */
  396.                                          /* ownerdraw is being used.       */
  397.          /* Include/Sort parameters
  398.           */
  399.          ULONG      flCompare;           /* Flags: for example, use the    */
  400.                                          /*   COMPARE_SUPPORTED flag if    */
  401.                                          /*   your field can be compared   */
  402.          PFNCOMPARE pfnCompare;          /* Comparison function for this   */
  403.                                          /*   field. Can be NULL unless    */
  404.                                          /*   ownerdraw is used.           */
  405.          ULONG      DefaultComparison;   /* This is the default compare    */
  406.                                          /*   operator in the include      */
  407.                                          /*   page criteria dialog. (eg:   */
  408.                                          /*   CMP_LESS_OR_EQUAL)           */
  409.          ULONG      ulLenCompareValue;   /* Maximum length of the compare  */
  410.                                          /*   data. Can be NULL unless     */
  411.                                          /*   ownerdraw is used.           */
  412.          PVOID      pDefCompareValue;    /* The default value to be used   */
  413.                                          /*   for comparisons. Can be NULL */
  414.                                          /*   unless ownerdraw is used.    */
  415.          PVOID      pMinCompareValue;    /* The default value to be used   */
  416.                                          /*   for comparisons.Can be NULL  */
  417.                                          /*   unless ownerdraw is used.    */
  418.          PVOID      pMaxCompareValue;    /* The default value to be used   */
  419.                                          /*   for comparisons.Can be NULL  */
  420.                                          /*   unless ownerdraw is used.    */
  421.          PSZ        pszEditControlClass; /* Window class to be used to edit*/
  422.                                          /*   the compare value. Can be    */
  423.                                          /*   NULL unless ownerdraw is used*/
  424.          PFNCOMPARE pfnSort;             /* Sort function for this @SM09511*/
  425.                                          /*   field. Can be NULL unless    */
  426.                                          /*   ownerdraw is used.           */
  427.       } CLASSFIELDINFO;
  428.  
  429.       typedef CLASSFIELDINFO *PCLASSFIELDINFO;
  430.  
  431.       #define COMPARE_SUPPORTED      1
  432.       #define SORTBY_SUPPORTED       2
  433.  
  434.       /* Standard notebook size constants */
  435.       #define STDNOTEBOOKWIDTH    290
  436.       #define STDNOTEBOOKHEIGHT   275
  437.  
  438.       /* Confirm flags */
  439.       #define CONFIRM_DELETE        0x0001
  440.       #define CONFIRM_DELETEFOLDER  0x0002
  441.       #define CONFIRM_RENAMEFILESWITHEXT 0x0004
  442.       #define CONFIRM_KEEPASSOC          0x0008
  443.       #define CONFIRM_ACTION        0x0010
  444.       #define CONFIRM_PROGRESS      0x0020
  445.  
  446.       #define OK_DELETE             1
  447.       #define NO_DELETE             2
  448.       #define CANCEL_DELETE         3
  449.  
  450.       #define NUM_OBJDETAILS_FIELDS    2     /* number of object details */
  451.  
  452.       /* Search Type for wpclsQueryExtendedCriteria */
  453.  
  454.       #define SEARCH_ALL_FOLDERS 1
  455.       #define SEARCH_THIS_FOLDER 2
  456.       #define SEARCH_THIS_TREE   3
  457.  
  458.       /* Find method related types and constants */
  459.  
  460.       typedef WPObject   *OBJECT;                             /* FIND */
  461.       typedef OBJECT     *POBJECT;
  462.       typedef M_WPObject *CLASS;
  463.       typedef CLASS      *PCLASS;
  464.       typedef LHANDLE     HFIND;
  465.       typedef HFIND      *PHFIND;
  466.  
  467.       /* wpDrop method return code  */
  468.  
  469.       #define RC_DROP_DROPCOMPLETE 2
  470.       #define RC_DROP_ITEMCOMPLETE 1
  471.       #define RC_DROP_RENDERING    0
  472.       #define RC_DROP_ERROR       -1
  473.  
  474.       /*handle for files being tracked by the shell */
  475.  
  476.       typedef LHANDLE HFS;
  477.       #define MAXSZHFS 10       /* size of the translated string */
  478.  
  479.     #define SETTINGS_PAGE_REMOVED  -1
  480.  
  481.     /* wpSetConcurrentView values */
  482.       #define CCVIEW_DEFAULT 0
  483.       #define CCVIEW_ON      1
  484.       #define CCVIEW_OFF     2
  485.  
  486.     /* wpSetMinWindow values */
  487.       #define MINWIN_DEFAULT 0
  488.       #define MINWIN_HIDDEN  1
  489.       #define MINWIN_VIEWER  2
  490.       #define MINWIN_DESKTOP 3
  491.  
  492.     /* wpSetButtonAppearance values */
  493.       #define HIDEBUTTON      1
  494.       #define MINBUTTON      2
  495.       #define DEFAULTBUTTON  3
  496.  
  497.       #define  HIDDENMINWINDOW_DEFAULT MINWIN_VIEWER
  498.      #ifndef wpfolder_xh
  499.           #define WPFolder WPObject
  500.      #endif
  501.  
  502.       typedef struct _TASKREC
  503.       {
  504.          struct _TASKREC *next;     /* next in the list of current tasks   */
  505.          ULONG            useCount; /* can be referenced by multiple object*/
  506.          PVOID            pStdDlg;  /* ptr to standard WP task dialog      */
  507.          WPFolder        *folder;   /* intended folder for the object      */
  508.          LONG             xOrigin;  /* intended position for the object    */
  509.          LONG             yOrigin;  /* intended position for the object    */
  510.          PSZ              pszTitle; /* intended name for the object        */
  511.          ULONG            cbTitle;  /* length of the name buffer           */
  512.          PMINIRECORDCORE  positionAfterRecord; /* intended sort position   */
  513.          BOOL            fKeepAssociations;
  514.          PVOID            pReserved;    /* reserved - equal null           */
  515.  
  516.       }  TASKREC;
  517.       typedef TASKREC *PTASKREC;
  518.  
  519. /* C++ som defs */
  520. #include <somcls.xh>
  521.  
  522. /* C++ parent def */
  523. #ifndef somobj_xh
  524. #include <somobj.xh>
  525. #endif
  526.  
  527. #ifndef WPObject_API
  528. #define WPObject_API
  529. /*
  530.  * The Class API
  531.  */
  532.  
  533. /* A procedure to create the WPObject Class */
  534. SOMEXTERN SOMClass * SOMLINK WPObjectNewClass(
  535.         integer4 majorVersion,
  536.         integer4 minorVersion);
  537.  
  538. /* A macro to return the WPObject class object */
  539. class M_WPObject;
  540. #define _WPObject ((M_WPObject*)WPObjectClassData.classObject)
  541.  
  542. /* The static interface to WPObject and its instances */
  543. SOMEXTERN struct WPObjectClassDataStructure {
  544.     SOMClass *classObject;
  545.     somMToken wpSetTitle;
  546.     somMToken wpQueryTitle;
  547.     somMToken wpSetStyle;
  548.     somMToken wpQueryStyle;
  549.     somMToken wpSetIcon;
  550.     somMToken wpQueryIcon;
  551.     somMToken wpSetContainer;
  552.     somMToken wpQueryContainer;
  553.     somMToken wpSetNextObj;
  554.     somMToken wpQueryNextObj;
  555.     somMToken wpSetDefaultView;
  556.     somMToken wpQueryDefaultView;
  557.     somMToken wpMakeDormant;
  558.     somMToken wpSaveState;
  559.     somMToken wpBeginSave;
  560.     somMToken wpEndSave;
  561.     somMToken wpSaveLong;
  562.     somMToken wpSaveString;
  563.     somMToken wpSaveData;
  564.     somMToken wpAppendSaveData;
  565.     somMToken wpRestoreState;
  566.     somMToken wpBeginRestore;
  567.     somMToken wpEndRestore;
  568.     somMToken wpRestoreLong;
  569.     somMToken wpRestoreString;
  570.     somMToken wpRestoreData;
  571.     somMToken wpExtractRestoreData;
  572.     somMToken wpAllocMem;
  573.     somMToken wpFreeMem;
  574.     somMToken wpAddToObjUseList;
  575.     somMToken wpDeleteFromObjUseList;
  576.     somMToken wpFindUseItem;
  577.     somMToken wpSwitchTo;
  578.     somMToken withdrawn1;
  579.     somMToken wpFilterPopupMenu;
  580.     somMToken wpModifyPopupMenu;
  581.     somMToken wpMenuItemSelected;
  582.     somMToken wpFormatDragItem;
  583.     somMToken wpDrop;
  584.     somMToken wpDragOver;
  585.     somMToken wpRender;
  586.     somMToken wpEndConversation;
  587.     somMToken withdrawn10;
  588.     somMToken wpMakeObject;
  589.     somMToken wpDestroyObject;
  590.     somMToken wpFree;
  591.     somMToken wpCopiedFromTemplate;
  592.     somMToken wpAddSettingsPages;
  593.     somMToken wpAddObjectGeneralPage;
  594.     somMToken wpDisplayHelp;
  595.     somMToken wpMenuItemHelpSelected;
  596.     somMToken wpInsertSettingsPage;
  597.     somMToken wpInsertPopupMenuItems;
  598.     somMToken withdrawn5;
  599.     somMToken withdrawn6;
  600.     somMToken withdrawn4;
  601.     somMToken withdrawn3;
  602.     somMToken wpCnrInsertObject;
  603.     somMToken wpCnrRemoveObject;
  604.     somMToken wpInitData;
  605.     somMToken wpUnInitData;
  606.     somMToken wpSetup;
  607.     somMToken wpScanSetupString;
  608.     somMToken wpSaveImmediate;
  609.     somMToken wpOpen;
  610.     somMToken wpClose;
  611.     somMToken wpHide;
  612.     somMToken wpRestore;
  613.     somMToken wpSetIconData;
  614.     somMToken wpQueryIconData;
  615.     somMToken wpQueryIconSaved;
  616.     somMToken wpDelete;
  617.     somMToken wpConfirmDelete;
  618.     somMToken withdrawn2;
  619.     somMToken withdrawn11;
  620.     somMToken withdrawn7;
  621.     somMToken wpRegisterView;
  622.     somMToken wpIdentify;
  623.     somMToken wpSetDefaultHelp;
  624.     somMToken wpQueryDefaultHelp;
  625.     somMToken wpDoesObjectMatch;
  626.     somMToken wpCnrRefreshDetails;
  627.     somMToken wpSetError;
  628.     somMToken wpQueryError;
  629.     somMToken wpDraggedOverObject;
  630.     somMToken wpDroppedOnObject;
  631.     somMToken wpSetDefaultIconPos;
  632.     somMToken wpQueryDefaultIconPos;
  633.     somMToken wpSetState;
  634.     somMToken wpQueryState;
  635.     somMToken wpSetObjectID;
  636.     somMToken wpQueryObjectID;
  637.     somMToken wpIsDeleteable;
  638.     somMToken wpQueryHandle;
  639.     somMToken wpSaveDeferred;
  640.     somMToken wpAddObjectWindowPage;
  641.     somMToken wpQueryConcurrentView;
  642.     somMToken wpSetConcurrentView;
  643.     somMToken wpQueryMinWindow;
  644.     somMToken wpSetMinWindow;
  645.     somMToken wpViewObject;
  646.     somMToken wpQueryButtonAppearance;
  647.     somMToken wpSetButtonAppearance;
  648.     somMToken wpQueryConfirmations;
  649.     somMToken wpCnrSetEmphasis;
  650.     somMToken wpQueryCoreRecord;
  651.     somMToken wpFindViewItem;
  652.     somMToken wpCreateFromTemplate;
  653.     somMethodProc *wpQueryTrueStyle;
  654.     somMToken wpAssertObjectMutexSem;
  655.     somMToken wpReleaseObjectMutexSem;
  656.     somMToken wpRequestObjectMutexSem;
  657.     somMToken wpCreateAnother;
  658.     somMToken wpCreateShadowObject;
  659.     somMToken wpCopyObject;
  660.     somMToken wpMoveObject;
  661.     somMToken wpLockObject;
  662.     somMToken wpUnlockObject;
  663.     somMToken wpIsLocked;
  664.     somMToken wpRenderComplete;
  665.     somMToken wpQueryDetailsData;
  666.     somMToken wpPrintObject;
  667.     somMToken wpQueryTaskRec;
  668.     somMToken wpSetTaskRec;
  669.     somMToken wpSnoozeNotify;
  670.     somMToken wpModifyStyle;
  671.     somMToken wpSetInsertState;
  672.     somMToken wpFindTaskRec;
  673.     somMToken wpAppendObject;
  674.     somMToken wpReplaceObject;
  675.     somMToken wpQueryNameClashOptions;
  676.     somMToken wpConfirmObjectTitle;
  677.     somDToken pobjNext;
  678.     somMToken wpQueryContainerFlagPtr;
  679.     somMToken wpAddWindowPosKey;
  680.     somMToken wpDeleteWindowPosKeys;
  681.     somMToken wpObjectInsertPreparation;
  682.     somMToken wpCnrDeleteUseItem;
  683. } WPObjectClassData;
  684.  
  685. /*
  686.  * -- Typedefs for Procedures that support WPObject Methods
  687.  */
  688. extern "C" {
  689. typedef ULONG    (SOMLINK *somTD_WPObject_wpAddObjectGeneralPage)(WPObject *somSelf,HWND hwndNotebook);
  690. typedef ULONG    (SOMLINK *somTD_WPObject_wpAddObjectWindowPage)(WPObject *somSelf,HWND hwndNotebook);
  691. typedef BOOL    (SOMLINK *somTD_WPObject_wpAddSettingsPages)(WPObject *somSelf,HWND hwndNotebook);
  692. typedef BOOL    (SOMLINK *somTD_WPObject_wpAddToObjUseList)(WPObject *somSelf,PUSEITEM pUseItem);
  693. typedef PBYTE    (SOMLINK *somTD_WPObject_wpAllocMem)(WPObject *somSelf,ULONG cbBytes,PULONG prc);
  694. typedef BOOL32    (SOMLINK *somTD_WPObject_wpAppendObject)(WPObject *somSelf,WPObject *targetObject,BOOL32 fMove);
  695. typedef BOOL    (SOMLINK *somTD_WPObject_wpAssertObjectMutexSem)(WPObject *somSelf);
  696. typedef BOOL    (SOMLINK *somTD_WPObject_wpClose)(WPObject *somSelf);
  697. typedef PMINIRECORDCORE    (SOMLINK *somTD_WPObject_wpCnrInsertObject)(WPObject *somSelf,HWND hwndCnr,PPOINTL pptlIcon,PMINIRECORDCORE preccParent,PRECORDINSERT pRecInsert);
  698. typedef BOOL    (SOMLINK *somTD_WPObject_wpCnrRemoveObject)(WPObject *somSelf,HWND hwndCnr);
  699. typedef BOOL    (SOMLINK *somTD_WPObject_wpCnrSetEmphasis)(WPObject *somSelf,ULONG ulEmphasisAttr,BOOL fTurnOn);
  700. typedef ULONG    (SOMLINK *somTD_WPObject_wpConfirmDelete)(WPObject *somSelf,ULONG fConfirmations);
  701. typedef ULONG    (SOMLINK *somTD_WPObject_wpConfirmObjectTitle)(WPObject *somSelf,WPFolder *Folder,WPObject **ppDuplicate,PSZ pszTitle,ULONG cbTitle,ULONG menuID);
  702. typedef void    (SOMLINK *somTD_WPObject_wpCopiedFromTemplate)(WPObject *somSelf);
  703. typedef WPObject *   (SOMLINK *somTD_WPObject_wpCopyObject)(WPObject *somSelf,WPFolder *Folder,BOOL fLock);
  704. typedef WPObject *   (SOMLINK *somTD_WPObject_wpCreateAnother)(WPObject *somSelf,PSZ pszTitle,PSZ pszSetupEnv,WPFolder *Folder);
  705. typedef WPObject *   (SOMLINK *somTD_WPObject_wpCreateFromTemplate)(WPObject *somSelf,WPFolder *folder,BOOL fLock);
  706. typedef WPObject *   (SOMLINK *somTD_WPObject_wpCreateShadowObject)(WPObject *somSelf,WPFolder *Folder,BOOL fLock);
  707. typedef ULONG    (SOMLINK *somTD_WPObject_wpDelete)(WPObject *somSelf,ULONG fConfirmations);
  708. typedef BOOL    (SOMLINK *somTD_WPObject_wpDeleteFromObjUseList)(WPObject *somSelf,PUSEITEM pUseItem);
  709. typedef BOOL    (SOMLINK *somTD_WPObject_wpDisplayHelp)(WPObject *somSelf,ULONG HelpPanelId,PSZ HelpLibrary);
  710. typedef BOOL    (SOMLINK *somTD_WPObject_wpDoesObjectMatch)(WPObject *somSelf,PVOID pvoidExtendedCriteria);
  711. typedef MRESULT    (SOMLINK *somTD_WPObject_wpDraggedOverObject)(WPObject *somSelf,WPObject *DraggedOverObject);
  712. typedef MRESULT    (SOMLINK *somTD_WPObject_wpDragOver)(WPObject *somSelf,HWND hwndCnr,PDRAGINFO pdrgInfo);
  713. typedef MRESULT    (SOMLINK *somTD_WPObject_wpDrop)(WPObject *somSelf,HWND hwndCnr,PDRAGINFO pdrgInfo,PDRAGITEM pdrgItem);
  714. typedef BOOL    (SOMLINK *somTD_WPObject_wpDroppedOnObject)(WPObject *somSelf,WPObject *DroppedOnObject);
  715. typedef MRESULT    (SOMLINK *somTD_WPObject_wpEndConversation)(WPObject *somSelf,ULONG ulItemID,ULONG flResult);
  716. typedef ULONG    (SOMLINK *somTD_WPObject_wpFilterPopupMenu)(WPObject *somSelf,ULONG ulFlags,HWND hwndCnr,BOOL fMultiSelect);
  717. typedef PUSEITEM    (SOMLINK *somTD_WPObject_wpFindUseItem)(WPObject *somSelf,ULONG type,PUSEITEM pCurrentItem);
  718. typedef BOOL    (SOMLINK *somTD_WPObject_wpFormatDragItem)(WPObject *somSelf,PDRAGITEM pdrgItem);
  719. typedef BOOL    (SOMLINK *somTD_WPObject_wpFree)(WPObject *somSelf);
  720. typedef BOOL    (SOMLINK *somTD_WPObject_wpFreeMem)(WPObject *somSelf,PBYTE pByte);
  721. typedef BOOL    (SOMLINK *somTD_WPObject_wpHide)(WPObject *somSelf);
  722. typedef void    (SOMLINK *somTD_WPObject_wpInitData)(WPObject *somSelf);
  723. typedef BOOL    (SOMLINK *somTD_WPObject_wpInsertPopupMenuItems)(WPObject *somSelf,HWND hwndMenu,ULONG iPosition,HMODULE hmod,ULONG MenuID,ULONG SubMenuID);
  724. typedef ULONG    (SOMLINK *somTD_WPObject_wpInsertSettingsPage)(WPObject *somSelf,HWND hwndNotebook,PPAGEINFO ppageinfo);
  725. typedef BOOL    (SOMLINK *somTD_WPObject_wpMenuItemHelpSelected)(WPObject *somSelf,ULONG MenuId);
  726. typedef BOOL    (SOMLINK *somTD_WPObject_wpMenuItemSelected)(WPObject *somSelf,HWND hwndFrame,ULONG ulMenuId);
  727. typedef BOOL    (SOMLINK *somTD_WPObject_wpModifyPopupMenu)(WPObject *somSelf,HWND hwndMenu,HWND hwndCnr,ULONG iPosition);
  728. typedef BOOL    (SOMLINK *somTD_WPObject_wpMoveObject)(WPObject *somSelf,WPFolder *Folder);
  729. typedef HWND    (SOMLINK *somTD_WPObject_wpOpen)(WPObject *somSelf,HWND hwndCnr,ULONG ulView,ULONG param);
  730. typedef BOOL    (SOMLINK *somTD_WPObject_wpPrintObject)(WPObject *somSelf,PPRINTDEST pPrintDest,ULONG ulReserved);
  731. typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryConcurrentView)(WPObject *somSelf);
  732. typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryButtonAppearance)(WPObject *somSelf);
  733. typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryConfirmations)(WPObject *somSelf);
  734. typedef BOOL    (SOMLINK *somTD_WPObject_wpQueryDefaultHelp)(WPObject *somSelf,PULONG pHelpPanelId,PSZ HelpLibrary);
  735. typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryDefaultView)(WPObject *somSelf);
  736. typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryDetailsData)(WPObject *somSelf,PVOID *ppDetailsData,PULONG pcp);
  737. typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryError)(WPObject *somSelf);
  738. typedef HPOINTER    (SOMLINK *somTD_WPObject_wpQueryIcon)(WPObject *somSelf);
  739. typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryIconData)(WPObject *somSelf,PICONINFO pIconInfo);
  740. typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryMinWindow)(WPObject *somSelf);
  741. typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryNameClashOptions)(WPObject *somSelf,ULONG menuID);
  742. typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryStyle)(WPObject *somSelf);
  743. typedef BOOL32    (SOMLINK *somTD_WPObject_wpSetTaskRec)(WPObject *somSelf,PTASKREC pNew,PTASKREC pOld);
  744. typedef PTASKREC    (SOMLINK *somTD_WPObject_wpFindTaskRec)(WPObject *somSelf);
  745. typedef PSZ    (SOMLINK *somTD_WPObject_wpQueryTitle)(WPObject *somSelf);
  746. typedef BOOL    (SOMLINK *somTD_WPObject_wpRegisterView)(WPObject *somSelf,HWND hwndFrame,PSZ pszViewTitle);
  747. typedef ULONG    (SOMLINK *somTD_WPObject_wpReleaseObjectMutexSem)(WPObject *somSelf);
  748. typedef MRESULT    (SOMLINK *somTD_WPObject_wpRender)(WPObject *somSelf,PDRAGTRANSFER pdxfer);
  749. typedef MRESULT    (SOMLINK *somTD_WPObject_wpRenderComplete)(WPObject *somSelf,PDRAGTRANSFER pdxfer,ULONG ulResult);
  750. typedef BOOL32    (SOMLINK *somTD_WPObject_wpReplaceObject)(WPObject *somSelf,WPObject *targetObject,BOOL32 fMove);
  751. typedef ULONG    (SOMLINK *somTD_WPObject_wpRequestObjectMutexSem)(WPObject *somSelf,ULONG ulTimeout);
  752. typedef BOOL    (SOMLINK *somTD_WPObject_wpRestore)(WPObject *somSelf);
  753. typedef BOOL    (SOMLINK *somTD_WPObject_wpRestoreData)(WPObject *somSelf,PSZ pszClass,ULONG ulKey,PBYTE pValue,PULONG pcbValue);
  754. typedef BOOL    (SOMLINK *somTD_WPObject_wpRestoreLong)(WPObject *somSelf,PSZ pszClass,ULONG ulKey,PULONG pulValue);
  755. typedef BOOL    (SOMLINK *somTD_WPObject_wpRestoreState)(WPObject *somSelf,ULONG ulReserved);
  756. typedef BOOL    (SOMLINK *somTD_WPObject_wpRestoreString)(WPObject *somSelf,PSZ pszClass,ULONG ulKey,PSZ pszValue,PULONG pcbValue);
  757. typedef BOOL    (SOMLINK *somTD_WPObject_wpSaveData)(WPObject *somSelf,PSZ pszClass,ULONG ulKey,PBYTE pValue,ULONG cbValue);
  758. typedef BOOL    (SOMLINK *somTD_WPObject_wpSaveImmediate)(WPObject *somSelf);
  759. typedef BOOL    (SOMLINK *somTD_WPObject_wpSaveDeferred)(WPObject *somSelf);
  760. typedef BOOL    (SOMLINK *somTD_WPObject_wpSaveLong)(WPObject *somSelf,PSZ pszClass,ULONG ulKey,ULONG ulValue);
  761. typedef BOOL    (SOMLINK *somTD_WPObject_wpSaveState)(WPObject *somSelf);
  762. typedef BOOL    (SOMLINK *somTD_WPObject_wpSaveString)(WPObject *somSelf,PSZ pszClass,ULONG ulKey,PSZ pszValue);
  763. typedef BOOL    (SOMLINK *somTD_WPObject_wpScanSetupString)(WPObject *somSelf,PSZ pszSetupString,PSZ pszKey,PSZ pszValue,PULONG pcbValue);
  764. typedef VOID    (SOMLINK *somTD_WPObject_wpSetConcurrentView)(WPObject *somSelf,ULONG ulCCView);
  765. typedef VOID    (SOMLINK *somTD_WPObject_wpSetButtonAppearance)(WPObject *somSelf,ULONG ulButtonType);
  766. typedef BOOL    (SOMLINK *somTD_WPObject_wpSetDefaultHelp)(WPObject *somSelf,ULONG HelpPanelId,PSZ HelpLibrary);
  767. typedef BOOL    (SOMLINK *somTD_WPObject_wpSetDefaultView)(WPObject *somSelf,ULONG ulView);
  768. typedef BOOL    (SOMLINK *somTD_WPObject_wpSetError)(WPObject *somSelf,ULONG ulErrorId);
  769. typedef BOOL    (SOMLINK *somTD_WPObject_wpSetIcon)(WPObject *somSelf,HPOINTER hptrNewIcon);
  770. typedef BOOL    (SOMLINK *somTD_WPObject_wpSetIconData)(WPObject *somSelf,PICONINFO pIconInfo);
  771. typedef VOID    (SOMLINK *somTD_WPObject_wpSetMinWindow)(WPObject *somSelf,ULONG ulMinWindow);
  772. typedef BOOL    (SOMLINK *somTD_WPObject_wpSetStyle)(WPObject *somSelf,ULONG ulNewStyle);
  773. typedef BOOL    (SOMLINK *somTD_WPObject_wpModifyStyle)(WPObject *somSelf,ULONG ulStyleFlags,ULONG ulStyleMask);
  774. typedef BOOL    (SOMLINK *somTD_WPObject_wpSetTitle)(WPObject *somSelf,PSZ pszNewTitle);
  775. typedef BOOL    (SOMLINK *somTD_WPObject_wpSetup)(WPObject *somSelf,PSZ pszSetupString);
  776. typedef BOOL    (SOMLINK *somTD_WPObject_wpSwitchTo)(WPObject *somSelf,ULONG View);
  777. typedef void    (SOMLINK *somTD_WPObject_wpUnInitData)(WPObject *somSelf);
  778. typedef HWND    (SOMLINK *somTD_WPObject_wpViewObject)(WPObject *somSelf,HWND hwndCnr,ULONG ulView,ULONG param);
  779. typedef ULONG    (SOMLINK *somTD_WPObject_wpQueryTrueStyle)(WPObject *somSelf);
  780. typedef HOBJECT    (SOMLINK *somTD_WPObject_wpQueryHandle)(WPObject *somSelf);
  781. typedef BOOL    (SOMLINK *somTD_WPObject_wpUnlockObject)(WPObject *somSelf);
  782. }
  783.  
  784.  
  785. #endif /* WPObject_API */
  786.  
  787.  
  788. /*
  789.  * -- The C++ Wrapper Class for WPObject
  790.  */
  791. class WPObject : public SOMObject
  792. {
  793. public:
  794.  
  795. void *operator new(size_t size)
  796. {
  797.    (void) size;
  798.    if (!WPObjectClassData.classObject) 
  799.       WPObjectNewClass(WPObject_MajorVersion,WPObject_MinorVersion);
  800.    return (void *)
  801.       ((somTD_SOMClass_somNew)
  802.       somResolve(SOM_TestCls((SOMAny *)(WPObjectClassData.classObject),
  803.                              SOMClassClassData.classObject),
  804.                  SOMClassClassData.somNew))
  805.          ((SOMClass*)(WPObjectClassData.classObject));
  806. }
  807.  
  808. void operator delete(void * obj)
  809. {
  810.    ((SOMObject *)obj)->somFree();
  811. }
  812.  
  813. /* public method: wpAddObjectGeneralPage */
  814. ULONG    wpAddObjectGeneralPage(HWND hwndNotebook)
  815. {
  816.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpAddObjectGeneralPage)
  817.     (this,hwndNotebook);
  818. }
  819.  
  820.  
  821. /* public method: wpAddObjectWindowPage */
  822. ULONG    wpAddObjectWindowPage(HWND hwndNotebook)
  823. {
  824.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpAddObjectWindowPage)
  825.     (this,hwndNotebook);
  826. }
  827.  
  828.  
  829. /* public method: wpAddSettingsPages */
  830. BOOL    wpAddSettingsPages(HWND hwndNotebook)
  831. {
  832.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpAddSettingsPages)
  833.     (this,hwndNotebook);
  834. }
  835.  
  836.  
  837. /* public method: wpAddToObjUseList */
  838. BOOL    wpAddToObjUseList(PUSEITEM pUseItem)
  839. {
  840.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpAddToObjUseList)
  841.     (this,pUseItem);
  842. }
  843.  
  844.  
  845. /* public method: wpAllocMem */
  846. PBYTE    wpAllocMem(ULONG cbBytes,
  847.         PULONG prc)
  848. {
  849.    return (PBYTE) SOM_Resolve((SOMAny *)this,WPObject,wpAllocMem)
  850.     (this,cbBytes,prc);
  851. }
  852.  
  853.  
  854. /* public method: wpAppendObject */
  855. BOOL32    wpAppendObject(WPObject *targetObject,
  856.         BOOL32 fMove)
  857. {
  858.    return (BOOL32) SOM_Resolve((SOMAny *)this,WPObject,wpAppendObject)
  859.     (this,targetObject,fMove);
  860. }
  861.  
  862.  
  863. /* public method: wpAssertObjectMutexSem */
  864. BOOL    wpAssertObjectMutexSem()
  865. {
  866.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpAssertObjectMutexSem)
  867.     (this);
  868. }
  869.  
  870.  
  871. /* public method: wpClose */
  872. BOOL    wpClose()
  873. {
  874.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpClose)
  875.     (this);
  876. }
  877.  
  878.  
  879. /* public method: wpCnrInsertObject */
  880. PMINIRECORDCORE    wpCnrInsertObject(HWND hwndCnr,
  881.         PPOINTL pptlIcon,
  882.         PMINIRECORDCORE preccParent,
  883.         PRECORDINSERT pRecInsert)
  884. {
  885.    return (PMINIRECORDCORE) SOM_Resolve((SOMAny *)this,WPObject,wpCnrInsertObject)
  886.     (this,hwndCnr,pptlIcon,preccParent,pRecInsert);
  887. }
  888.  
  889.  
  890. /* public method: wpCnrRemoveObject */
  891. BOOL    wpCnrRemoveObject(HWND hwndCnr)
  892. {
  893.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpCnrRemoveObject)
  894.     (this,hwndCnr);
  895. }
  896.  
  897.  
  898. /* public method: wpCnrSetEmphasis */
  899. BOOL    wpCnrSetEmphasis(ULONG ulEmphasisAttr,
  900.         BOOL fTurnOn)
  901. {
  902.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpCnrSetEmphasis)
  903.     (this,ulEmphasisAttr,fTurnOn);
  904. }
  905.  
  906.  
  907. /* public method: wpConfirmDelete */
  908. ULONG    wpConfirmDelete(ULONG fConfirmations)
  909. {
  910.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpConfirmDelete)
  911.     (this,fConfirmations);
  912. }
  913.  
  914.  
  915. /* public method: wpConfirmObjectTitle */
  916. ULONG    wpConfirmObjectTitle(WPFolder *Folder,
  917.         WPObject **ppDuplicate,
  918.         PSZ pszTitle,
  919.         ULONG cbTitle,
  920.         ULONG menuID)
  921. {
  922.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpConfirmObjectTitle)
  923.     (this,Folder,ppDuplicate,pszTitle,cbTitle,menuID);
  924. }
  925.  
  926.  
  927. /* public method: wpCopiedFromTemplate */
  928. void    wpCopiedFromTemplate()
  929. {
  930.    SOM_Resolve((SOMAny *)this,WPObject,wpCopiedFromTemplate)
  931.     (this);
  932. }
  933.  
  934.  
  935. /* public method: wpCopyObject */
  936. WPObject *   wpCopyObject(WPFolder *Folder,
  937.         BOOL fLock)
  938. {
  939.    return (WPObject*) SOM_Resolve((SOMAny *)this,WPObject,wpCopyObject)
  940.     (this,Folder,fLock);
  941. }
  942.  
  943.  
  944. /* public method: wpCreateAnother */
  945. WPObject *   wpCreateAnother(PSZ pszTitle,
  946.         PSZ pszSetupEnv,
  947.         WPFolder *Folder)
  948. {
  949.    return (WPObject*) SOM_Resolve((SOMAny *)this,WPObject,wpCreateAnother)
  950.     (this,pszTitle,pszSetupEnv,Folder);
  951. }
  952.  
  953.  
  954. /* public method: wpCreateFromTemplate */
  955. WPObject *   wpCreateFromTemplate(WPFolder *folder,
  956.         BOOL fLock)
  957. {
  958.    return (WPObject*) SOM_Resolve((SOMAny *)this,WPObject,wpCreateFromTemplate)
  959.     (this,folder,fLock);
  960. }
  961.  
  962.  
  963. /* public method: wpCreateShadowObject */
  964. WPObject *   wpCreateShadowObject(WPFolder *Folder,
  965.         BOOL fLock)
  966. {
  967.    return (WPObject*) SOM_Resolve((SOMAny *)this,WPObject,wpCreateShadowObject)
  968.     (this,Folder,fLock);
  969. }
  970.  
  971.  
  972. /* public method: wpDelete */
  973. ULONG    wpDelete(ULONG fConfirmations)
  974. {
  975.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpDelete)
  976.     (this,fConfirmations);
  977. }
  978.  
  979.  
  980. /* public method: wpDeleteFromObjUseList */
  981. BOOL    wpDeleteFromObjUseList(PUSEITEM pUseItem)
  982. {
  983.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpDeleteFromObjUseList)
  984.     (this,pUseItem);
  985. }
  986.  
  987.  
  988. /* public method: wpDisplayHelp */
  989. BOOL    wpDisplayHelp(ULONG HelpPanelId,
  990.         PSZ HelpLibrary)
  991. {
  992.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpDisplayHelp)
  993.     (this,HelpPanelId,HelpLibrary);
  994. }
  995.  
  996.  
  997. /* public method: wpDoesObjectMatch */
  998. BOOL    wpDoesObjectMatch(PVOID pvoidExtendedCriteria)
  999. {
  1000.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpDoesObjectMatch)
  1001.     (this,pvoidExtendedCriteria);
  1002. }
  1003.  
  1004.  
  1005. /* public method: wpDraggedOverObject */
  1006. MRESULT    wpDraggedOverObject(WPObject *DraggedOverObject)
  1007. {
  1008.    return (MRESULT) SOM_Resolve((SOMAny *)this,WPObject,wpDraggedOverObject)
  1009.     (this,DraggedOverObject);
  1010. }
  1011.  
  1012.  
  1013. /* public method: wpDragOver */
  1014. MRESULT    wpDragOver(HWND hwndCnr,
  1015.         PDRAGINFO pdrgInfo)
  1016. {
  1017.    return (MRESULT) SOM_Resolve((SOMAny *)this,WPObject,wpDragOver)
  1018.     (this,hwndCnr,pdrgInfo);
  1019. }
  1020.  
  1021.  
  1022. /* public method: wpDrop */
  1023. MRESULT    wpDrop(HWND hwndCnr,
  1024.         PDRAGINFO pdrgInfo,
  1025.         PDRAGITEM pdrgItem)
  1026. {
  1027.    return (MRESULT) SOM_Resolve((SOMAny *)this,WPObject,wpDrop)
  1028.     (this,hwndCnr,pdrgInfo,pdrgItem);
  1029. }
  1030.  
  1031.  
  1032. /* public method: wpDroppedOnObject */
  1033. BOOL    wpDroppedOnObject(WPObject *DroppedOnObject)
  1034. {
  1035.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpDroppedOnObject)
  1036.     (this,DroppedOnObject);
  1037. }
  1038.  
  1039.  
  1040. /* public method: wpEndConversation */
  1041. MRESULT    wpEndConversation(ULONG ulItemID,
  1042.         ULONG flResult)
  1043. {
  1044.    return (MRESULT) SOM_Resolve((SOMAny *)this,WPObject,wpEndConversation)
  1045.     (this,ulItemID,flResult);
  1046. }
  1047.  
  1048.  
  1049. /* public method: wpFilterPopupMenu */
  1050. ULONG    wpFilterPopupMenu(ULONG ulFlags,
  1051.         HWND hwndCnr,
  1052.         BOOL fMultiSelect)
  1053. {
  1054.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpFilterPopupMenu)
  1055.     (this,ulFlags,hwndCnr,fMultiSelect);
  1056. }
  1057.  
  1058.  
  1059. /* public method: wpFindUseItem */
  1060. PUSEITEM    wpFindUseItem(ULONG type,
  1061.         PUSEITEM pCurrentItem)
  1062. {
  1063.    return (PUSEITEM) SOM_Resolve((SOMAny *)this,WPObject,wpFindUseItem)
  1064.     (this,type,pCurrentItem);
  1065. }
  1066.  
  1067.  
  1068. /* public method: wpFormatDragItem */
  1069. BOOL    wpFormatDragItem(PDRAGITEM pdrgItem)
  1070. {
  1071.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpFormatDragItem)
  1072.     (this,pdrgItem);
  1073. }
  1074.  
  1075.  
  1076. /* public method: wpFree */
  1077. BOOL    wpFree()
  1078. {
  1079.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpFree)
  1080.     (this);
  1081. }
  1082.  
  1083.  
  1084. /* public method: wpFreeMem */
  1085. BOOL    wpFreeMem(PBYTE pByte)
  1086. {
  1087.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpFreeMem)
  1088.     (this,pByte);
  1089. }
  1090.  
  1091.  
  1092. /* public method: wpHide */
  1093. BOOL    wpHide()
  1094. {
  1095.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpHide)
  1096.     (this);
  1097. }
  1098.  
  1099.  
  1100. /* public method: wpInitData */
  1101. void    wpInitData()
  1102. {
  1103.    SOM_Resolve((SOMAny *)this,WPObject,wpInitData)
  1104.     (this);
  1105. }
  1106.  
  1107.  
  1108. /* public method: wpInsertPopupMenuItems */
  1109. BOOL    wpInsertPopupMenuItems(HWND hwndMenu,
  1110.         ULONG iPosition,
  1111.         HMODULE hmod,
  1112.         ULONG MenuID,
  1113.         ULONG SubMenuID)
  1114. {
  1115.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpInsertPopupMenuItems)
  1116.     (this,hwndMenu,iPosition,hmod,MenuID,SubMenuID);
  1117. }
  1118.  
  1119.  
  1120. /* public method: wpInsertSettingsPage */
  1121. ULONG    wpInsertSettingsPage(HWND hwndNotebook,
  1122.         PPAGEINFO ppageinfo)
  1123. {
  1124.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpInsertSettingsPage)
  1125.     (this,hwndNotebook,ppageinfo);
  1126. }
  1127.  
  1128.  
  1129. /* public method: wpMenuItemHelpSelected */
  1130. BOOL    wpMenuItemHelpSelected(ULONG MenuId)
  1131. {
  1132.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpMenuItemHelpSelected)
  1133.     (this,MenuId);
  1134. }
  1135.  
  1136.  
  1137. /* public method: wpMenuItemSelected */
  1138. BOOL    wpMenuItemSelected(HWND hwndFrame,
  1139.         ULONG ulMenuId)
  1140. {
  1141.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpMenuItemSelected)
  1142.     (this,hwndFrame,ulMenuId);
  1143. }
  1144.  
  1145.  
  1146. /* public method: wpModifyPopupMenu */
  1147. BOOL    wpModifyPopupMenu(HWND hwndMenu,
  1148.         HWND hwndCnr,
  1149.         ULONG iPosition)
  1150. {
  1151.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpModifyPopupMenu)
  1152.     (this,hwndMenu,hwndCnr,iPosition);
  1153. }
  1154.  
  1155.  
  1156. /* public method: wpMoveObject */
  1157. BOOL    wpMoveObject(WPFolder *Folder)
  1158. {
  1159.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpMoveObject)
  1160.     (this,Folder);
  1161. }
  1162.  
  1163.  
  1164. /* public method: wpOpen */
  1165. HWND    wpOpen(HWND hwndCnr,
  1166.         ULONG ulView,
  1167.         ULONG param)
  1168. {
  1169.    return (HWND) SOM_Resolve((SOMAny *)this,WPObject,wpOpen)
  1170.     (this,hwndCnr,ulView,param);
  1171. }
  1172.  
  1173.  
  1174. /* public method: wpPrintObject */
  1175. BOOL    wpPrintObject(PPRINTDEST pPrintDest,
  1176.         ULONG ulReserved)
  1177. {
  1178.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpPrintObject)
  1179.     (this,pPrintDest,ulReserved);
  1180. }
  1181.  
  1182.  
  1183. /* public method: wpQueryConcurrentView */
  1184. ULONG    wpQueryConcurrentView()
  1185. {
  1186.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryConcurrentView)
  1187.     (this);
  1188. }
  1189.  
  1190.  
  1191. /* public method: wpQueryButtonAppearance */
  1192. ULONG    wpQueryButtonAppearance()
  1193. {
  1194.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryButtonAppearance)
  1195.     (this);
  1196. }
  1197.  
  1198.  
  1199. /* public method: wpQueryConfirmations */
  1200. ULONG    wpQueryConfirmations()
  1201. {
  1202.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryConfirmations)
  1203.     (this);
  1204. }
  1205.  
  1206.  
  1207. /* public method: wpQueryDefaultHelp */
  1208. BOOL    wpQueryDefaultHelp(PULONG pHelpPanelId,
  1209.         PSZ HelpLibrary)
  1210. {
  1211.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpQueryDefaultHelp)
  1212.     (this,pHelpPanelId,HelpLibrary);
  1213. }
  1214.  
  1215.  
  1216. /* public method: wpQueryDefaultView */
  1217. ULONG    wpQueryDefaultView()
  1218. {
  1219.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryDefaultView)
  1220.     (this);
  1221. }
  1222.  
  1223.  
  1224. /* public method: wpQueryDetailsData */
  1225. ULONG    wpQueryDetailsData(PVOID *ppDetailsData,
  1226.         PULONG pcp)
  1227. {
  1228.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryDetailsData)
  1229.     (this,ppDetailsData,pcp);
  1230. }
  1231.  
  1232.  
  1233. /* public method: wpQueryError */
  1234. ULONG    wpQueryError()
  1235. {
  1236.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryError)
  1237.     (this);
  1238. }
  1239.  
  1240.  
  1241. /* public method: wpQueryIcon */
  1242. HPOINTER    wpQueryIcon()
  1243. {
  1244.    return (HPOINTER) SOM_Resolve((SOMAny *)this,WPObject,wpQueryIcon)
  1245.     (this);
  1246. }
  1247.  
  1248.  
  1249. /* public method: wpQueryIconData */
  1250. ULONG    wpQueryIconData(PICONINFO pIconInfo)
  1251. {
  1252.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryIconData)
  1253.     (this,pIconInfo);
  1254. }
  1255.  
  1256.  
  1257. /* public method: wpQueryMinWindow */
  1258. ULONG    wpQueryMinWindow()
  1259. {
  1260.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryMinWindow)
  1261.     (this);
  1262. }
  1263.  
  1264.  
  1265. /* public method: wpQueryNameClashOptions */
  1266. ULONG    wpQueryNameClashOptions(ULONG menuID)
  1267. {
  1268.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryNameClashOptions)
  1269.     (this,menuID);
  1270. }
  1271.  
  1272.  
  1273. /* public method: wpQueryStyle */
  1274. ULONG    wpQueryStyle()
  1275. {
  1276.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpQueryStyle)
  1277.     (this);
  1278. }
  1279.  
  1280.  
  1281. /* public method: wpSetTaskRec */
  1282. BOOL32    wpSetTaskRec(PTASKREC pNew,
  1283.         PTASKREC pOld)
  1284. {
  1285.    return (BOOL32) SOM_Resolve((SOMAny *)this,WPObject,wpSetTaskRec)
  1286.     (this,pNew,pOld);
  1287. }
  1288.  
  1289.  
  1290. /* public method: wpFindTaskRec */
  1291. PTASKREC    wpFindTaskRec()
  1292. {
  1293.    return (PTASKREC) SOM_Resolve((SOMAny *)this,WPObject,wpFindTaskRec)
  1294.     (this);
  1295. }
  1296.  
  1297.  
  1298. /* public method: wpQueryTitle */
  1299. PSZ    wpQueryTitle()
  1300. {
  1301.    return (PSZ) SOM_Resolve((SOMAny *)this,WPObject,wpQueryTitle)
  1302.     (this);
  1303. }
  1304.  
  1305.  
  1306. /* public method: wpRegisterView */
  1307. BOOL    wpRegisterView(HWND hwndFrame,
  1308.         PSZ pszViewTitle)
  1309. {
  1310.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpRegisterView)
  1311.     (this,hwndFrame,pszViewTitle);
  1312. }
  1313.  
  1314.  
  1315. /* public method: wpReleaseObjectMutexSem */
  1316. ULONG    wpReleaseObjectMutexSem()
  1317. {
  1318.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpReleaseObjectMutexSem)
  1319.     (this);
  1320. }
  1321.  
  1322.  
  1323. /* public method: wpRender */
  1324. MRESULT    wpRender(PDRAGTRANSFER pdxfer)
  1325. {
  1326.    return (MRESULT) SOM_Resolve((SOMAny *)this,WPObject,wpRender)
  1327.     (this,pdxfer);
  1328. }
  1329.  
  1330.  
  1331. /* public method: wpRenderComplete */
  1332. MRESULT    wpRenderComplete(PDRAGTRANSFER pdxfer,
  1333.         ULONG ulResult)
  1334. {
  1335.    return (MRESULT) SOM_Resolve((SOMAny *)this,WPObject,wpRenderComplete)
  1336.     (this,pdxfer,ulResult);
  1337. }
  1338.  
  1339.  
  1340. /* public method: wpReplaceObject */
  1341. BOOL32    wpReplaceObject(WPObject *targetObject,
  1342.         BOOL32 fMove)
  1343. {
  1344.    return (BOOL32) SOM_Resolve((SOMAny *)this,WPObject,wpReplaceObject)
  1345.     (this,targetObject,fMove);
  1346. }
  1347.  
  1348.  
  1349. /* public method: wpRequestObjectMutexSem */
  1350. ULONG    wpRequestObjectMutexSem(ULONG ulTimeout)
  1351. {
  1352.    return (ULONG) SOM_Resolve((SOMAny *)this,WPObject,wpRequestObjectMutexSem)
  1353.     (this,ulTimeout);
  1354. }
  1355.  
  1356.  
  1357. /* public method: wpRestore */
  1358. BOOL    wpRestore()
  1359. {
  1360.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpRestore)
  1361.     (this);
  1362. }
  1363.  
  1364.  
  1365. /* public method: wpRestoreData */
  1366. BOOL    wpRestoreData(PSZ pszClass,
  1367.         ULONG ulKey,
  1368.         PBYTE pValue,
  1369.         PULONG pcbValue)
  1370. {
  1371.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpRestoreData)
  1372.     (this,pszClass,ulKey,pValue,pcbValue);
  1373. }
  1374.  
  1375.  
  1376. /* public method: wpRestoreLong */
  1377. BOOL    wpRestoreLong(PSZ pszClass,
  1378.         ULONG ulKey,
  1379.         PULONG pulValue)
  1380. {
  1381.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpRestoreLong)
  1382.     (this,pszClass,ulKey,pulValue);
  1383. }
  1384.  
  1385.  
  1386. /* public method: wpRestoreState */
  1387. BOOL    wpRestoreState(ULONG ulReserved)
  1388. {
  1389.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpRestoreState)
  1390.     (this,ulReserved);
  1391. }
  1392.  
  1393.  
  1394. /* public method: wpRestoreString */
  1395. BOOL    wpRestoreString(PSZ pszClass,
  1396.         ULONG ulKey,
  1397.         PSZ pszValue,
  1398.         PULONG pcbValue)
  1399. {
  1400.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpRestoreString)
  1401.     (this,pszClass,ulKey,pszValue,pcbValue);
  1402. }
  1403.  
  1404.  
  1405. /* public method: wpSaveData */
  1406. BOOL    wpSaveData(PSZ pszClass,
  1407.         ULONG ulKey,
  1408.         PBYTE pValue,
  1409.         ULONG cbValue)
  1410. {
  1411.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSaveData)
  1412.     (this,pszClass,ulKey,pValue,cbValue);
  1413. }
  1414.  
  1415.  
  1416. /* public method: wpSaveImmediate */
  1417. BOOL    wpSaveImmediate()
  1418. {
  1419.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSaveImmediate)
  1420.     (this);
  1421. }
  1422.  
  1423.  
  1424. /* public method: wpSaveDeferred */
  1425. BOOL    wpSaveDeferred()
  1426. {
  1427.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSaveDeferred)
  1428.     (this);
  1429. }
  1430.  
  1431.  
  1432. /* public method: wpSaveLong */
  1433. BOOL    wpSaveLong(PSZ pszClass,
  1434.         ULONG ulKey,
  1435.         ULONG ulValue)
  1436. {
  1437.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSaveLong)
  1438.     (this,pszClass,ulKey,ulValue);
  1439. }
  1440.  
  1441.  
  1442. /* public method: wpSaveState */
  1443. BOOL    wpSaveState()
  1444. {
  1445.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSaveState)
  1446.     (this);
  1447. }
  1448.  
  1449.  
  1450. /* public method: wpSaveString */
  1451. BOOL    wpSaveString(PSZ pszClass,
  1452.         ULONG ulKey,
  1453.         PSZ pszValue)
  1454. {
  1455.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSaveString)
  1456.     (this,pszClass,ulKey,pszValue);
  1457. }
  1458.  
  1459.  
  1460. /* public method: wpScanSetupString */
  1461. BOOL    wpScanSetupString(PSZ pszSetupString,
  1462.         PSZ pszKey,
  1463.         PSZ pszValue,
  1464.         PULONG pcbValue)
  1465. {
  1466.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpScanSetupString)
  1467.     (this,pszSetupString,pszKey,pszValue,pcbValue);
  1468. }
  1469.  
  1470.  
  1471. /* public method: wpSetConcurrentView */
  1472. VOID    wpSetConcurrentView(ULONG ulCCView)
  1473. {
  1474.    SOM_Resolve((SOMAny *)this,WPObject,wpSetConcurrentView)
  1475.     (this,ulCCView);
  1476. }
  1477.  
  1478.  
  1479. /* public method: wpSetButtonAppearance */
  1480. VOID    wpSetButtonAppearance(ULONG ulButtonType)
  1481. {
  1482.    SOM_Resolve((SOMAny *)this,WPObject,wpSetButtonAppearance)
  1483.     (this,ulButtonType);
  1484. }
  1485.  
  1486.  
  1487. /* public method: wpSetDefaultHelp */
  1488. BOOL    wpSetDefaultHelp(ULONG HelpPanelId,
  1489.         PSZ HelpLibrary)
  1490. {
  1491.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetDefaultHelp)
  1492.     (this,HelpPanelId,HelpLibrary);
  1493. }
  1494.  
  1495.  
  1496. /* public method: wpSetDefaultView */
  1497. BOOL    wpSetDefaultView(ULONG ulView)
  1498. {
  1499.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetDefaultView)
  1500.     (this,ulView);
  1501. }
  1502.  
  1503.  
  1504. /* public method: wpSetError */
  1505. BOOL    wpSetError(ULONG ulErrorId)
  1506. {
  1507.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetError)
  1508.     (this,ulErrorId);
  1509. }
  1510.  
  1511.  
  1512. /* public method: wpSetIcon */
  1513. BOOL    wpSetIcon(HPOINTER hptrNewIcon)
  1514. {
  1515.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetIcon)
  1516.     (this,hptrNewIcon);
  1517. }
  1518.  
  1519.  
  1520. /* public method: wpSetIconData */
  1521. BOOL    wpSetIconData(PICONINFO pIconInfo)
  1522. {
  1523.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetIconData)
  1524.     (this,pIconInfo);
  1525. }
  1526.  
  1527.  
  1528. /* public method: wpSetMinWindow */
  1529. VOID    wpSetMinWindow(ULONG ulMinWindow)
  1530. {
  1531.    SOM_Resolve((SOMAny *)this,WPObject,wpSetMinWindow)
  1532.     (this,ulMinWindow);
  1533. }
  1534.  
  1535.  
  1536. /* public method: wpSetStyle */
  1537. BOOL    wpSetStyle(ULONG ulNewStyle)
  1538. {
  1539.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetStyle)
  1540.     (this,ulNewStyle);
  1541. }
  1542.  
  1543.  
  1544. /* public method: wpModifyStyle */
  1545. BOOL    wpModifyStyle(ULONG ulStyleFlags,
  1546.         ULONG ulStyleMask)
  1547. {
  1548.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpModifyStyle)
  1549.     (this,ulStyleFlags,ulStyleMask);
  1550. }
  1551.  
  1552.  
  1553. /* public method: wpSetTitle */
  1554. BOOL    wpSetTitle(PSZ pszNewTitle)
  1555. {
  1556.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetTitle)
  1557.     (this,pszNewTitle);
  1558. }
  1559.  
  1560.  
  1561. /* public method: wpSetup */
  1562. BOOL    wpSetup(PSZ pszSetupString)
  1563. {
  1564.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSetup)
  1565.     (this,pszSetupString);
  1566. }
  1567.  
  1568.  
  1569. /* public method: wpSwitchTo */
  1570. BOOL    wpSwitchTo(ULONG View)
  1571. {
  1572.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpSwitchTo)
  1573.     (this,View);
  1574. }
  1575.  
  1576.  
  1577. /* public method: wpUnInitData */
  1578. void    wpUnInitData()
  1579. {
  1580.    SOM_Resolve((SOMAny *)this,WPObject,wpUnInitData)
  1581.     (this);
  1582. }
  1583.  
  1584.  
  1585. /* public method: wpViewObject */
  1586. HWND    wpViewObject(HWND hwndCnr,
  1587.         ULONG ulView,
  1588.         ULONG param)
  1589. {
  1590.    return (HWND) SOM_Resolve((SOMAny *)this,WPObject,wpViewObject)
  1591.     (this,hwndCnr,ulView,param);
  1592. }
  1593.  
  1594.  
  1595. /* public method: wpQueryTrueStyle */
  1596. ULONG    wpQueryTrueStyle()
  1597. {
  1598. return (ULONG) ((somTD_WPObject_wpQueryTrueStyle)WPObjectClassData.wpQueryTrueStyle)
  1599.     (this);
  1600. }
  1601.  
  1602.  
  1603. /* public method: wpQueryHandle */
  1604. HOBJECT    wpQueryHandle()
  1605. {
  1606.    return (HOBJECT) SOM_Resolve((SOMAny *)this,WPObject,wpQueryHandle)
  1607.     (this);
  1608. }
  1609.  
  1610.  
  1611. /* public method: wpUnlockObject */
  1612. BOOL    wpUnlockObject()
  1613. {
  1614.    return (BOOL) SOM_Resolve((SOMAny *)this,WPObject,wpUnlockObject)
  1615.     (this);
  1616. }
  1617.  
  1618.  
  1619.  
  1620. };   /* WPObject */
  1621.  
  1622.  
  1623.  
  1624. #endif       /* wpobject_xh */
  1625.  
  1626. /*
  1627.  * This file was generated by the SOM Compiler.
  1628.  * FileName: wpobject.xh.
  1629.  * Generated using:
  1630.  *     SOM Precompiler spc: 1.22
  1631.  *     SOM Emitter emitxh: 1.11
  1632.  */
  1633. #ifndef wpobject_mxh
  1634. #define wpobject_mxh
  1635. class M_WPObject;
  1636.  
  1637. #define M_WPObject_MajorVersion 1
  1638. #define M_WPObject_MinorVersion 2
  1639.  
  1640. /* C++ som defs */
  1641. #include <somcls.xh>
  1642.  
  1643. /* C++ parent def */
  1644. #ifndef somcls_xh
  1645. #include <somcls.xh>
  1646. #endif
  1647.  
  1648. #ifndef M_WPObject_API
  1649. #define M_WPObject_API
  1650. /*
  1651.  * The Class API
  1652.  */
  1653.  
  1654. /* A procedure to create the M_WPObject Class */
  1655. SOMEXTERN SOMClass * SOMLINK M_WPObjectNewClass(
  1656.         integer4 majorVersion,
  1657.         integer4 minorVersion);
  1658.  
  1659. /* A macro to return the M_WPObject class object */
  1660. #define _M_WPObject ((SOMClass*)M_WPObjectClassData.classObject)
  1661.  
  1662. /* The static interface to M_WPObject and its instances */
  1663. SOMEXTERN struct M_WPObjectClassDataStructure {
  1664.     SOMClass *classObject;
  1665.     somMToken wpclsInitData;
  1666.     somMToken wpclsUnInitData;
  1667.     somMToken withdrawn8;
  1668.     somMToken wpclsMakeAwake;
  1669.     somMToken wpclsIncUsage;
  1670.     somMToken wpclsDecUsage;
  1671.     somMToken wpclsQueryTitle;
  1672.     somMToken wpclsQueryIcon;
  1673.     somMToken wpclsQueryDefaultHelp;
  1674.     somMToken wpclsQueryStyle;
  1675.     somMToken wpclsQueryDetailsInfo;
  1676.     somMToken wpclsQueryDefaultView;
  1677.     somMToken wpclsQueryDetails;
  1678.     somMToken wpclsQuerySearchInfo;
  1679.     somMToken wpclsQueryExtendedCriteria;
  1680.     somMToken wpclsCreateDefaultTemplates;
  1681.     somMToken withdrawn9;
  1682.     somMToken wpclsFindObjectFirst;
  1683.     somMToken wpclsFindObjectNext;
  1684.     somMToken wpclsFindObjectEnd;
  1685.     somMToken wpclsFindObjects;
  1686.     somMToken wpclsSetError;
  1687.     somMToken wpclsQueryError;
  1688.     somMToken wpclsQuerySettingsPageSize;
  1689.     somMToken wpclsSetSettingsPageSize;
  1690.     somMToken wpclsQueryIconData;
  1691.     somMToken wpclsSetIcon;
  1692.     somMToken wpclsSetIconData;
  1693.     somMToken wpclsQueryObject;
  1694.     somMToken wpclsObjectFromHandle;
  1695.     somMToken wpclsSaveDirtyObjects;
  1696.     somMToken wpclsLockDirtyList;
  1697.     somMToken wpclsUnlockDirtyList;
  1698.     somMToken wpclsLockRestartList;
  1699.     somMToken wpclsUnlockRestartList;
  1700.     somMToken wpclsQueryButtonAppearance;
  1701.     somMToken wpclsNew;
  1702.     somMToken wpclsQueryFolder;
  1703.     somMToken wpclsLockSleepyList;
  1704.     somMToken wpclsUnlockSleepyList;
  1705.     somMToken wpclsRemoveObjects;
  1706.     somMToken wpclsInsertMultipleObjects;
  1707. } M_WPObjectClassData;
  1708.  
  1709. /*
  1710.  * -- Typedefs for Procedures that support M_WPObject Methods
  1711.  */
  1712. extern "C" {
  1713. typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsCreateDefaultTemplates)(M_WPObject *somSelf,WPObject *Folder);
  1714. typedef void    (SOMLINK *somTD_M_WPObject_wpclsInitData)(M_WPObject *somSelf);
  1715. typedef WPObject *   (SOMLINK *somTD_M_WPObject_wpclsMakeAwake)(M_WPObject *somSelf,PSZ pszTitle,ULONG ulStyle,HPOINTER hptrIcon,POBJDATA pObjData,WPFolder *Folder,ULONG ulUser);
  1716. typedef WPObject *   (SOMLINK *somTD_M_WPObject_wpclsNew)(M_WPObject *somSelf,PSZ pszTitle,PSZ pszSetupEnv,WPFolder *Folder,BOOL fLock);
  1717. typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsQueryDefaultHelp)(M_WPObject *somSelf,PULONG pHelpPanelId,PSZ pszHelpLibrary);
  1718. typedef ULONG    (SOMLINK *somTD_M_WPObject_wpclsQueryDefaultView)(M_WPObject *somSelf);
  1719. typedef PCLASSDETAILS    (SOMLINK *somTD_M_WPObject_wpclsQueryDetails)(M_WPObject *somSelf);
  1720. typedef ULONG    (SOMLINK *somTD_M_WPObject_wpclsQueryDetailsInfo)(M_WPObject *somSelf,PCLASSFIELDINFO *ppClassFieldInfo,PULONG pSize);
  1721. typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsQueryExtendedCriteria)(M_WPObject *somSelf,PSZ pszName,ULONG ulSearchType,PVOID pvoidExtendedCriteria);
  1722. typedef WPObject *   (SOMLINK *somTD_M_WPObject_wpclsQueryFolder)(M_WPObject *somSelf,PSZ pszLocation,BOOL fLock);
  1723. typedef HPOINTER    (SOMLINK *somTD_M_WPObject_wpclsQueryIcon)(M_WPObject *somSelf);
  1724. typedef VOID    (SOMLINK *somTD_M_WPObject_wpclsQuerySearchInfo)(M_WPObject *somSelf,M_WPObject **ClassExtended,M_WPObject **ClassCreate,PULONG pulClassCriteriaSize);
  1725. typedef ULONG    (SOMLINK *somTD_M_WPObject_wpclsQueryStyle)(M_WPObject *somSelf);
  1726. typedef PSZ    (SOMLINK *somTD_M_WPObject_wpclsQueryTitle)(M_WPObject *somSelf);
  1727. typedef void    (SOMLINK *somTD_M_WPObject_wpclsUnInitData)(M_WPObject *somSelf);
  1728. typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsFindObjectFirst)(M_WPObject *somSelf,PCLASS pClassList,PHFIND phFind,PSZ pszTitle,WPFolder *Folder,BOOL fSubfolders,PVOID pExtendedCriteria,POBJECT pBuffer,PULONG pCount);
  1729. typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsFindObjectNext)(M_WPObject *somSelf,HFIND hFind,POBJECT pBuffer,PULONG pCount);
  1730. typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsFindObjectEnd)(M_WPObject *somSelf,HFIND hFind);
  1731. typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsSetError)(M_WPObject *somSelf,ULONG ulErrorId);
  1732. typedef ULONG    (SOMLINK *somTD_M_WPObject_wpclsQueryError)(M_WPObject *somSelf);
  1733. typedef BOOL    (SOMLINK *somTD_M_WPObject_wpclsQuerySettingsPageSize)(M_WPObject *somSelf,PSIZEL pSizl);
  1734. typedef ULONG    (SOMLINK *somTD_M_WPObject_wpclsQueryIconData)(M_WPObject *somSelf,PICONINFO pIconInfo);
  1735. typedef WPObject *   (SOMLINK *somTD_M_WPObject_wpclsQueryObject)(M_WPObject *somSelf,HOBJECT hObject);
  1736. typedef ULONG    (SOMLINK *somTD_M_WPObject_wpclsQueryButtonAppearance)(M_WPObject *somSelf);
  1737. }
  1738.  
  1739.  
  1740. #endif /* M_WPObject_API */
  1741.  
  1742.  
  1743. /*
  1744.  * -- The C++ Wrapper Class for M_WPObject
  1745.  */
  1746. class M_WPObject : public SOMClass
  1747. {
  1748. public:
  1749.  
  1750. void *operator new(size_t size)
  1751. {
  1752.    (void) size;
  1753.    if (!M_WPObjectClassData.classObject) 
  1754.       M_WPObjectNewClass(M_WPObject_MajorVersion,M_WPObject_MinorVersion);
  1755.    return (void *)
  1756.       ((somTD_SOMClass_somNew)
  1757.       somResolve(SOM_TestCls((SOMAny *)(M_WPObjectClassData.classObject),
  1758.                              SOMClassClassData.classObject),
  1759.                  SOMClassClassData.somNew))
  1760.          ((SOMClass*)(M_WPObjectClassData.classObject));
  1761. }
  1762.  
  1763. void operator delete(void * obj)
  1764. {
  1765.    ((SOMObject *)obj)->somFree();
  1766. }
  1767.  
  1768. /* public method: wpclsCreateDefaultTemplates */
  1769. BOOL    wpclsCreateDefaultTemplates(WPObject *Folder)
  1770. {
  1771.    return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsCreateDefaultTemplates)
  1772.     (this,Folder);
  1773. }
  1774.  
  1775.  
  1776. /* public method: wpclsInitData */
  1777. void    wpclsInitData()
  1778. {
  1779.    SOM_Resolve((SOMAny *)this,M_WPObject,wpclsInitData)
  1780.     (this);
  1781. }
  1782.  
  1783.  
  1784. /* public method: wpclsMakeAwake */
  1785. WPObject *   wpclsMakeAwake(PSZ pszTitle,
  1786.         ULONG ulStyle,
  1787.         HPOINTER hptrIcon,
  1788.         POBJDATA pObjData,
  1789.         WPFolder *Folder,
  1790.         ULONG ulUser)
  1791. {
  1792.    return (WPObject*) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsMakeAwake)
  1793.     (this,pszTitle,ulStyle,hptrIcon,pObjData,Folder,ulUser);
  1794. }
  1795.  
  1796.  
  1797. /* public method: wpclsNew */
  1798. WPObject *   wpclsNew(PSZ pszTitle,
  1799.         PSZ pszSetupEnv,
  1800.         WPFolder *Folder,
  1801.         BOOL fLock)
  1802. {
  1803.    return (WPObject*) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsNew)
  1804.     (this,pszTitle,pszSetupEnv,Folder,fLock);
  1805. }
  1806.  
  1807.  
  1808. /* public method: wpclsQueryDefaultHelp */
  1809. BOOL    wpclsQueryDefaultHelp(PULONG pHelpPanelId,
  1810.         PSZ pszHelpLibrary)
  1811. {
  1812.    return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryDefaultHelp)
  1813.     (this,pHelpPanelId,pszHelpLibrary);
  1814. }
  1815.  
  1816.  
  1817. /* public method: wpclsQueryDefaultView */
  1818. ULONG    wpclsQueryDefaultView()
  1819. {
  1820.    return (ULONG) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryDefaultView)
  1821.     (this);
  1822. }
  1823.  
  1824.  
  1825. /* public method: wpclsQueryDetails */
  1826. PCLASSDETAILS    wpclsQueryDetails()
  1827. {
  1828.    return (PCLASSDETAILS) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryDetails)
  1829.     (this);
  1830. }
  1831.  
  1832.  
  1833. /* public method: wpclsQueryDetailsInfo */
  1834. ULONG    wpclsQueryDetailsInfo(PCLASSFIELDINFO *ppClassFieldInfo,
  1835.         PULONG pSize)
  1836. {
  1837.    return (ULONG) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryDetailsInfo)
  1838.     (this,ppClassFieldInfo,pSize);
  1839. }
  1840.  
  1841.  
  1842. /* public method: wpclsQueryExtendedCriteria */
  1843. BOOL    wpclsQueryExtendedCriteria(PSZ pszName,
  1844.         ULONG ulSearchType,
  1845.         PVOID pvoidExtendedCriteria)
  1846. {
  1847.    return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryExtendedCriteria)
  1848.     (this,pszName,ulSearchType,pvoidExtendedCriteria);
  1849. }
  1850.  
  1851.  
  1852. /* public method: wpclsQueryFolder */
  1853. WPObject *   wpclsQueryFolder(PSZ pszLocation,
  1854.         BOOL fLock)
  1855. {
  1856.    return (WPObject*) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryFolder)
  1857.     (this,pszLocation,fLock);
  1858. }
  1859.  
  1860.  
  1861. /* public method: wpclsQueryIcon */
  1862. HPOINTER    wpclsQueryIcon()
  1863. {
  1864.    return (HPOINTER) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryIcon)
  1865.     (this);
  1866. }
  1867.  
  1868.  
  1869. /* public method: wpclsQuerySearchInfo */
  1870. VOID    wpclsQuerySearchInfo(M_WPObject **ClassExtended,
  1871.         M_WPObject **ClassCreate,
  1872.         PULONG pulClassCriteriaSize)
  1873. {
  1874.    SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQuerySearchInfo)
  1875.     (this,ClassExtended,ClassCreate,pulClassCriteriaSize);
  1876. }
  1877.  
  1878.  
  1879. /* public method: wpclsQueryStyle */
  1880. ULONG    wpclsQueryStyle()
  1881. {
  1882.    return (ULONG) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryStyle)
  1883.     (this);
  1884. }
  1885.  
  1886.  
  1887. /* public method: wpclsQueryTitle */
  1888. PSZ    wpclsQueryTitle()
  1889. {
  1890.    return (PSZ) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryTitle)
  1891.     (this);
  1892. }
  1893.  
  1894.  
  1895. /* public method: wpclsUnInitData */
  1896. void    wpclsUnInitData()
  1897. {
  1898.    SOM_Resolve((SOMAny *)this,M_WPObject,wpclsUnInitData)
  1899.     (this);
  1900. }
  1901.  
  1902.  
  1903. /* public method: wpclsFindObjectFirst */
  1904. BOOL    wpclsFindObjectFirst(PCLASS pClassList,
  1905.         PHFIND phFind,
  1906.         PSZ pszTitle,
  1907.         WPFolder *Folder,
  1908.         BOOL fSubfolders,
  1909.         PVOID pExtendedCriteria,
  1910.         POBJECT pBuffer,
  1911.         PULONG pCount)
  1912. {
  1913.    return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsFindObjectFirst)
  1914.     (this,pClassList,phFind,pszTitle,Folder,fSubfolders,pExtendedCriteria,pBuffer,pCount);
  1915. }
  1916.  
  1917.  
  1918. /* public method: wpclsFindObjectNext */
  1919. BOOL    wpclsFindObjectNext(HFIND hFind,
  1920.         POBJECT pBuffer,
  1921.         PULONG pCount)
  1922. {
  1923.    return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsFindObjectNext)
  1924.     (this,hFind,pBuffer,pCount);
  1925. }
  1926.  
  1927.  
  1928. /* public method: wpclsFindObjectEnd */
  1929. BOOL    wpclsFindObjectEnd(HFIND hFind)
  1930. {
  1931.    return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsFindObjectEnd)
  1932.     (this,hFind);
  1933. }
  1934.  
  1935.  
  1936. /* public method: wpclsSetError */
  1937. BOOL    wpclsSetError(ULONG ulErrorId)
  1938. {
  1939.    return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsSetError)
  1940.     (this,ulErrorId);
  1941. }
  1942.  
  1943.  
  1944. /* public method: wpclsQueryError */
  1945. ULONG    wpclsQueryError()
  1946. {
  1947.    return (ULONG) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryError)
  1948.     (this);
  1949. }
  1950.  
  1951.  
  1952. /* public method: wpclsQuerySettingsPageSize */
  1953. BOOL    wpclsQuerySettingsPageSize(PSIZEL pSizl)
  1954. {
  1955.    return (BOOL) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQuerySettingsPageSize)
  1956.     (this,pSizl);
  1957. }
  1958.  
  1959.  
  1960. /* public method: wpclsQueryIconData */
  1961. ULONG    wpclsQueryIconData(PICONINFO pIconInfo)
  1962. {
  1963.    return (ULONG) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryIconData)
  1964.     (this,pIconInfo);
  1965. }
  1966.  
  1967.  
  1968. /* public method: wpclsQueryObject */
  1969. WPObject *   wpclsQueryObject(HOBJECT hObject)
  1970. {
  1971.    return (WPObject*) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryObject)
  1972.     (this,hObject);
  1973. }
  1974.  
  1975.  
  1976. /* public method: wpclsQueryButtonAppearance */
  1977. ULONG    wpclsQueryButtonAppearance()
  1978. {
  1979.    return (ULONG) SOM_Resolve((SOMAny *)this,M_WPObject,wpclsQueryButtonAppearance)
  1980.     (this);
  1981. }
  1982.  
  1983.  
  1984.  
  1985. };   /* M_WPObject */
  1986.  
  1987.  
  1988.  
  1989. #endif       /* wpobject_mxh */
  1990.