home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / ievtdata.inl < prev    next >
Encoding:
Text File  |  1996-02-22  |  3.8 KB  |  124 lines

  1. #ifndef _IEVTDATA_INL_
  2. #define _IEVTDATA_INL_ 0
  3. /*******************************************************************************
  4. * FILE NAME: ievtdata.inl                                                      *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   This file contains the definition of the inline functions for the          *
  8. *   classes declared in ievtdata.hpp                                           *
  9. *                                                                              *
  10. * COPYRIGHT:                                                                   *
  11. *   IBM Open Class Library                                                     *
  12. *   (C) Copyright International Business Machines Corporation 1992, 1996       *
  13. *   Licensed Material - Program-Property of IBM - All Rights Reserved.         *
  14. *   US Government Users Restricted Rights - Use, duplication, or disclosure    *
  15. *   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
  16. *                                                                              *
  17. *******************************************************************************/
  18. #ifndef _IEVTDATA_
  19.   #undef  _IEVTDATA_INL_
  20.   #define _IEVTDATA_INL_ 1
  21.   #include <ievtdata.hpp>
  22. #endif
  23.  
  24. #if _IEVTDATA_INL_
  25.   #define inline
  26. #endif
  27.  
  28. inline IEventData :: IEventData ( )
  29.   : pvClMsg ( 0 )
  30.   { }
  31. inline IEventData :: IEventData ( void* value )
  32.   {
  33.   pvClMsg = value;
  34.   }
  35. inline IEventData :: IEventData ( unsigned long value )
  36.   {
  37.   pvClMsg = (void*)value;
  38.   }
  39. inline IEventData :: IEventData ( int value )
  40.   {
  41.   pvClMsg = (void*)((unsigned long)value);
  42.   }
  43. inline IEventData :: IEventData ( BooleanConstants value )
  44.   {
  45.   pvClMsg = (void*)((unsigned long)value);
  46.   }
  47. inline IEventData :: IEventData ( unsigned short lowValue,
  48.                                   unsigned short hiValue )
  49.   {
  50.   pvClMsg = (void*)(lowValue | (unsigned long)hiValue << 16);
  51.   }
  52. inline IEventData :: IEventData ( unsigned short lowValue,
  53.                                   char lowByte, char hiByte )
  54.   {
  55.   unsigned short hiValue = (unsigned short)(lowByte | (unsigned short)hiByte <<
  56.   8); pvClMsg = (void*)(lowValue | (unsigned long)hiValue << 16);
  57.   }
  58. inline char  IEventData :: lowLowByte ( ) const
  59.   {
  60.   return (char)(unsigned long)pvClMsg;
  61.   }
  62. inline char  IEventData :: lowHighByte ( ) const
  63.   {
  64.   return (char)((unsigned long)pvClMsg >> 8);
  65.   }
  66. inline char  IEventData :: highLowByte ( ) const
  67.   {
  68.   return (char)((unsigned long)pvClMsg >> 16);
  69.   }
  70. inline char  IEventData :: highHighByte ( ) const
  71.   {
  72.   return (char)((unsigned long)pvClMsg >> 24);
  73.   }
  74. inline char  IEventData :: char1 ( ) const
  75.   {
  76.   return lowLowByte();
  77.   }
  78. inline char  IEventData :: char2 ( ) const
  79.   {
  80.   return lowHighByte();
  81.   }
  82. inline char  IEventData :: char3 ( ) const
  83.   {
  84.   return highLowByte();
  85.   }
  86. inline char  IEventData :: char4 ( ) const
  87.   {
  88.   return highHighByte();
  89.   }
  90. inline unsigned short  IEventData :: lowNumber ( ) const
  91.   {
  92.   return (unsigned short)(unsigned long)pvClMsg;
  93.   }
  94. inline unsigned short  IEventData :: highNumber ( ) const
  95.   {
  96.   return (unsigned short)((unsigned long)pvClMsg >> 16);
  97.   }
  98. inline unsigned short  IEventData :: number1 ( ) const
  99.   {
  100.   return lowNumber();
  101.   }
  102. inline unsigned short  IEventData :: number2 ( ) const
  103.   {
  104.   return highNumber();
  105.   }
  106. inline unsigned long  IEventData :: asUnsignedLong ( ) const
  107.   {
  108.   return (unsigned long)pvClMsg;
  109.   }
  110. inline long  IEventData :: asLong ( ) const
  111.   {
  112.   return (long)pvClMsg;
  113.   }
  114. inline IEventData :: operator char* ( ) const
  115.   {
  116.   return (char*)pvClMsg;
  117.   }
  118. inline IEventData :: operator unsigned long ( ) const
  119.   {
  120.   return (unsigned long)pvClMsg;
  121.   }
  122.  
  123. #endif // _IEVTDATA_INL_
  124.