home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / samples / som / somk / cpp / simple / simple.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-01-24  |  2.4 KB  |  94 lines

  1. //
  2. //   COMPONENT_NAME: somx
  3. //
  4. //   ORIGINS: 27
  5. //
  6. //
  7. //   10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  8. //   All Rights Reserved
  9. //   Licensed Materials - Property of IBM
  10. //   US Government Users Restricted Rights - Use, duplication or
  11. //   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  12. //
  13. /* %Z% %I% %W% %G% %U% [%H% %T%] */
  14.  
  15. /*
  16.  *
  17.  * DISCLAIMER OF WARRANTIES.
  18.  * The following [enclosed] code is sample code created by IBM
  19.  * Corporation. This sample code is not part of any standard or IBM
  20.  * product and is provided to you solely for the purpose of assisting
  21.  * you in the development of your applications.  The code is provided
  22.  * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
  23.  * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  24.  * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
  25.  * THIS CODE.  IBM shall not be liable for any damages arising out of
  26.  * your use of the sample code, even if they have been advised of the
  27.  * possibility of such damages.
  28.  *
  29.  * DISTRIBUTION.
  30.  * This sample code can be freely distributed, copied, altered, and
  31.  * incorporated into other software, provided that it bears the above
  32.  * Copyright notice and DISCLAIMER intact.
  33.  */
  34.  
  35. #define VARIABLE_MACROS
  36. #define METHOD_MACROS
  37. #define Simple_Class_Source
  38. #include "simple.xih"
  39. #include <stdio.h>
  40.  
  41. /*
  42.  * -- Instance Data Comment (actual defn in Simple.xih)
  43.  */
  44. /*
  45. typedef struct {
  46.     long x;
  47. } SimpleData;
  48. */
  49.  
  50. /*
  51.  * -- Method Procedures for Simple
  52.  */
  53.  
  54. /*
  55.  *  setX sets x, and returns self
  56.  */
  57.  
  58. SOM_Scope Simple *  SOMLINK setX(Simple *somSelf,
  59.         long x)
  60. {
  61.  
  62.     SimpleData *somThis = SimpleGetData(somSelf);
  63.     SimpleMethodDebug("Simple","setX");
  64.  
  65.     *(somSelf->_get_x()) = x; /* test explicit method call */
  66.     return somSelf;
  67. }
  68.  
  69. /*
  70.  *  getX returns the current value of x
  71.  */
  72.  
  73. SOM_Scope long   SOMLINK getX(Simple *somSelf)
  74. {
  75.     SimpleData *somThis = SimpleGetData(somSelf);
  76.     SimpleMethodDebug("Simple","getX");
  77.  
  78.     return _x; /* test variable macro */
  79. }
  80.  
  81. /*
  82.  *  somInit initializes x to 42
  83.  *  and then calls parent_somInit
  84.  */
  85.  
  86. SOM_Scope void   SOMLINK somInit(Simple *somSelf)
  87. {
  88.     SimpleData *somThis = SimpleGetData(somSelf);
  89.     SimpleMethodDebug("Simple","somInit");
  90.  
  91.     _setX(42);
  92.     parent_SOMObject_somInit(somSelf); /* test method macro */
  93. }
  94.