home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warphead.zip / H / RMUTIL.H < prev    next >
C/C++ Source or Header  |  1997-02-28  |  5KB  |  130 lines

  1. /* @(#)Z 1.6 com/src/registry/rmutil.h, odconfig, od96os2, odos29646d 96/11/15 15:49:29 (96/10/29 09:30:22) */
  2. /*====START_GENERATED_PROLOG======================================
  3.  */
  4. /*
  5.  *   COMPONENT_NAME: odconfig
  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 _RMUTIL_
  30. #define _RMUTIL_
  31.  
  32. #ifdef _PLATFORM_OS2_ // aml - [140007]
  33. #ifndef _STDDEFS_
  34. #include <StdDefs.xh>
  35. #endif
  36. #endif
  37.  
  38. inline string newString( string iString)
  39. {
  40.     if ( iString )
  41.     {
  42.         string s = (string )SOMMalloc( strlen(iString)+1);
  43.         return strcpy( s, iString);
  44.     }
  45.     return iString;
  46. }
  47.  
  48. /*********************************************************************/
  49. /* Some useful macros                                                */
  50. /*********************************************************************/
  51.  
  52. #define deleteStringSequence( seq)                                 \
  53.     { /* New block to avoid var name collision */                  \
  54.         for ( long i = 0; i < seq. _length; i++)                   \
  55.         {                                                          \
  56.             SOMFree( seq. _buffer[i]);                             \
  57.         }                                                          \
  58.         SOMFree( seq. _buffer);                                    \
  59.     }
  60.  
  61. #define showSeq( seq, level)                                       \
  62.     somLPrintf( level, "%s\n", #seq);                              \
  63.     somLPrintf( (level)+1, "_maximum = %d\n",  (seq). _maximum);   \
  64.     somLPrintf( (level)+1, "_length  = %d\n",  (seq). _length);    \
  65.     somLPrintf( (level)+1, "_buffer  = %0x\n", (seq). _buffer)
  66.  
  67. #define CP { somLPrintf( 10, "Line %d in %s\n", __LINE__, __FILE__);}
  68.  
  69. #define SSTRLEN(s) s?strlen(s):0
  70.  
  71. #define SSTRCAT(t, s) s?strcat(t, s):strcat(t, "");
  72.  
  73. #if 0
  74. #define STRUCTCAT( ptr, strct, elem, src) \
  75.         {if(src){strct->elem=ptr+strlen(ptr);strcat(ptr,src);}else{strct->elem=0;}}
  76. #else
  77. #define STRUCTCAT( ptr, strct, elem, src) \
  78.         {if(src){strct->elem=ptr;strcat(ptr,src);ptr=strct->elem+strlen(strct->elem)+1;} \
  79.         else{strct->elem=0;}}
  80. #endif
  81.  
  82. #define BUILDRXSTRING(t, s) { \
  83.   strcpy((t)->strptr,(s));\
  84.   (t)->strlength = strlen((s)); \
  85. }
  86.  
  87. #define BENTOSEMNAME "\\SEM32\\BENTOSEM"
  88.  
  89. #if 0  // defect 22535 - these symbols are currently not used in the code
  90. #ifdef _PLATFORM_OS2_  // aml - [140007] - display names for standard OS2 kinds ( clipboard and drag-drop formats)
  91.  
  92. struct StdOS2Kind {
  93.    ODISOStr kindName;
  94.    ODISOStr dispName;
  95. };
  96.  
  97. static const StdOS2Kind OS2Kinds[] = {
  98. { kODKindOS2Bitmap,       kOS2BitmapDisplayName       },
  99. { kODKindOS2DspBitmap,    kOS2DspBitmapDisplayName    },
  100. { kODKindOS2Metafile,     kOS2MetafileDisplayName     },
  101. { kODKindOS2DspMetafile,  kOS2DspMetafileDisplayName  },
  102. { kODKindOS2Text,         kOS2TextDisplayName         },
  103. { kODKindOS2DspText,      kOS2DspTextDisplayName      },
  104. { kODKindOS2DIB,          kOS2DIBDisplayName          },
  105. { kODKindOS2DIF,          kOS2DIFDisplayName          },
  106. { kODKindOS2OEMText,      kOS2OEMTextDisplayName      },
  107. { kODKindOS2OwnerDisplay, kOS2OwnerDisplayDisplayName },
  108. { kODKindOS2PtrPict,      kOS2PtrPictDisplayName      },
  109. { kODKindOS2RTF,          kOS2RTFDisplayName          },
  110. { kODKindOS2SYLK,         kOS2SYLKDisplayName         },
  111. { kODKindOS2TIFF,         kOS2TIFFDisplayName         },
  112. { kODKindOS2Palette,      kOS2PaletteDisplayName      },
  113. { kODKindOS2Unknown,      kOS2UnknownDisplayName      }
  114. };
  115.  
  116. #define NumStdOS2Kinds  (sizeof(OS2Kinds)/sizeof(StdOS2Kind))
  117.  
  118. inline ODISOStr GetDisplayNameForOS2Kind(ODISOStr kind)
  119. {
  120.    for(int i=0; i<NumStdOS2Kinds; i++) {
  121.       if(!strcmp(OS2Kinds[i].kindName,kind))
  122.         return OS2Kinds[i].dispName;
  123.    }
  124.    return kODNULL;
  125. }
  126. #endif // _PLATFORM_OS2_
  127. #endif // symbols taken out - defect 22535
  128.  
  129. #endif
  130.