home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / od124os2.exe / od12osr1.exe / src / DocShell.h < prev    next >
C/C++ Source or Header  |  1997-03-21  |  3KB  |  109 lines

  1. /* @(#)Z 1.5 com/src/docshell/DocShell.h, odshell, od96os2, odos29712d 97/03/21 17:45:10 (96/10/29 09:23:39) */
  2. /*====START_GENERATED_PROLOG======================================
  3.  */
  4. /*
  5.  *   COMPONENT_NAME: odshell
  6.  *
  7.  *   CLASSES: none
  8.  *
  9.  *   ORIGINS: 27
  10.  *
  11.  *
  12.  *   (C) COPYRIGHT International Business Machines Corp. 1995,1996
  13.  *   All Rights Reserved
  14.  *   Licensed Materials - Property of IBM
  15.  *   US Government Users Restricted Rights - Use, duplication or
  16.  *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  17.  *       
  18.  *   IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  19.  *   ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  20.  *   PURPOSE. IN NO EVENT SHALL IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  21.  *   CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
  22.  *   USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
  23.  *   OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
  24.  *   OR PERFORMANCE OF THIS SOFTWARE.
  25.  */
  26. /*====END_GENERATED_PROLOG========================================
  27.  */
  28.  
  29. #ifndef _DOCSHELLH_
  30. #define _DOCSHELLH_
  31.  
  32. #define SaveEv() \
  33.        ODError savedNonSOMError, savedSOMError; \
  34.        savedSOMError = ODGetSOMException(ev); \
  35.        if (savedSOMError == kODNoError) \
  36.           savedNonSOMError = ErrorCode(); \
  37.        SetErrorCodeEv(ev, kODNoError); 
  38.  
  39. #define RestoreEv() \
  40.        if (savedSOMError == kODNoError) \
  41.           SetErrorCodeEv(ev, savedNonSOMError); \
  42.        else \
  43.           ODSetSOMException(ev, savedSOMError);
  44.  
  45. #define RestoreApplModal(hwnd) \
  46.     { \
  47.        SaveEv() \
  48.        try \
  49.        { \
  50.           EnableApplModal(ev, hwnd, TRUE); \
  51.        } \
  52.        catch (ODException _exception) \
  53.        { \
  54.           SetErrorCodeEv(ev, kODNoError); \
  55.        } \
  56.        RestoreEv() \
  57.     }
  58.  
  59. #define SaveAndRestoreEv1(object1) \
  60.     { \
  61.        SaveEv() \
  62.        try \
  63.        { \
  64.           ODReleaseObject(ev, object1); \
  65.        } \
  66.        catch (ODException _exception) \
  67.        { \
  68.           SetErrorCodeEv(ev, kODNoError); \
  69.        } \
  70.        RestoreEv() \
  71.     } 
  72.  
  73. #define SaveAndRestoreEv2(object1, object2) \
  74.     { \
  75.        SaveEv() \
  76.        try \
  77.        { \
  78.           if (object1) \
  79.              ODReleaseObject(ev, object1); \
  80.           if (object2) \
  81.              ODReleaseObject(ev, object2); \
  82.        } \
  83.        catch (ODException _exception) \
  84.        { \
  85.           SetErrorCodeEv(ev, kODNoError); \
  86.        } \
  87.        RestoreEv() \
  88.     }
  89.  
  90. #define SaveAndRestoreEv3(object1, object2, object3) \
  91.     { \
  92.        SaveEv() \
  93.        try \
  94.        { \
  95.           if (object1) \
  96.              ODReleaseObject(ev, object1); \
  97.           if (object2) \
  98.              ODReleaseObject(ev, object2); \
  99.           if (object3) \
  100.              ODReleaseObject(ev, object3); \
  101.        } \
  102.        catch (ODException _exception) \
  103.        { \
  104.           SetErrorCodeEv(ev, kODNoError); \
  105.        } \
  106.        RestoreEv() \
  107.     }
  108. #endif
  109.