Jump to content

WpSaveData

From EDM2
Revision as of 22:15, 11 February 2020 by Martini (talk | contribs) (Created page with "This instance method is called to allow an object to save its binary instance data. ==Syntax== <PRE> #define INCL_WINWORKPLACE #include <os2.h> WPObject *somSelf; /* ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This instance method is called to allow an object to save its binary instance data.

Syntax

#define INCL_WINWORKPLACE
#include <os2.h>

WPObject     *somSelf;   /*  Pointer to the object on which the method is being invoked. */
PSZ           pszClass;  /*  Pointer to the class name. */
ULONG         ulKey;     /*  Class-defined identifier. */
PBYTE         pValue;    /*  Address of the block of data to be stored. */
ULONG         cbValue;   /*  Size of the block of data to be stored. */
BOOL          rc;        /*  Success indicator. */

rc = _wpSaveData(somSelf, pszClass, ulKey, pValue, cbValue);

Parameters

somSelf (WPObject *) - input
Pointer to the object on which the method is being invoked.
Points to an object of class WPObject.
pszClass (PSZ) - input
Pointer to the class name.
A pointer to a zero-terminated string that contains any unique string. The class name is recommended but not enforced.
ulKey (ULONG) - input
Class-defined identifier.
A class-defined identifier that correlates to a particular instance data variable.
pValue (PBYTE) - input
Address of the block of data to be stored.
cbValue (ULONG) - input
Size of the block of data to be stored.

Return Code

rc (BOOL) - returns
Success indicator.
  • TRUE Successful completion.
  • FALSE Error occurred.

Remarks

The saved data can be restored by issuing a call to wpRestoreData.

How to Override

This method is generally not overridden.

Usage

This method can be called only during the processing of the wpSaveState method.

Example Code

In this example, wpSaveState is overridden to save instance data from the OS2.INI file.

#define WPNBK_KEY        1

/*  Instance method to return title information */

SOM_Scope PSZ   SOMLINK UserGetTitle(nbk *somSelf)
{
    nbkData *somThis = nbkGetData(somSelf);
    nbkMethodDebug("nbk","UserGetTitle");

    return (PSZ) _title;
}

/* Override of wpSaveState to save our instance data in OS2.INI */

SOM_Scope BOOL   SOMLINK wpSaveState(nbk *somSelf)
{
    PSZ  psz;

    nbkData *somThis = nbkGetData(somSelf);
    nbkMethodDebug("nbk","wpSaveState");

    psz = _UserGetTitle ( somSelf );    /* Get data to be saved */

    /* Save our data to the OS2.INI file  */

     _wpSaveData ( somSelf              /* Pointer to us */
                 , "nbk"                /* Class name */
                 , WPNBK_KEY            /* Key for data */
                 , psz                  /* Pointer to data */
                 , 40 );                /* Length of data  */

    return (parent_wpSaveState(somSelf));  /* Let parent store data */
}


Related Methods

  • wpRestoreData
  • wpRestoreLong
  • wpRestoreState
  • wpRestoreString
  • wpSaveDeferred
  • wpSaveImmediate
  • wpSaveLong
  • wpSaveState
  • wpSaveString