home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / devtools / toolkt21 / c / samples / animals / dog.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-03-12  |  2.4 KB  |  104 lines

  1. #ifndef lint
  2. static char *sccsid = "@(#)dog.c 1.3 2/3/92 20:39:45 [2/3/92] (c)IBM Corp. 1992";
  3. #endif
  4.  
  5. /*
  6.  * Copyright (c) International Business Machines Corporation
  7.  *         1991, 1992
  8.  */
  9.  
  10. #define Dog_Class_Source
  11. #include "dog.ih"
  12. #include <string.h>
  13.  
  14. SOM_Scope char *SOMLINK getBreed(Dog * somSelf)
  15. {
  16.     DogData *somThis = DogGetData(somSelf);
  17.     DogMethodDebug("Dog", "getBreed");
  18.  
  19.     return _breed;
  20. }
  21.  
  22. SOM_Scope char *SOMLINK getColor(Dog * somSelf)
  23. {
  24.     DogData *somThis = DogGetData(somSelf);
  25.     DogMethodDebug("Dog", "getColor");
  26.  
  27.     return _color;
  28. }
  29.  
  30. SOM_Scope void SOMLINK setBreed(Dog * somSelf, char *myBreed)
  31. {
  32.     DogData *somThis = DogGetData(somSelf);
  33.     DogMethodDebug("Dog", "setBreed");
  34.  
  35.     if (_breed)
  36.     (*SOMFree) (_breed);
  37.     _breed = (char *) (*SOMMalloc) (strlen(myBreed) + 1);
  38.     strcpy(_breed, myBreed);
  39. }
  40.  
  41. SOM_Scope void SOMLINK setColor(Dog * somSelf, char *myColor)
  42. {
  43.     DogData *somThis = DogGetData(somSelf);
  44.     DogMethodDebug("Dog", "setColor");
  45.  
  46.     if (_color)
  47.     (*SOMFree) (_color);
  48.     _color = (char *) (*SOMMalloc) (strlen(myColor) + 1);
  49.     strcpy(_color, myColor);
  50. }
  51.  
  52. SOM_Scope void SOMLINK somInit(Dog * somSelf)
  53. {
  54.     DogData *somThis = DogGetData(somSelf);
  55.     DogMethodDebug("Dog", "somInit");
  56.     parent_somInit(somSelf);
  57.  
  58.     _color = 0;
  59.     _breed = 0;
  60. }
  61.  
  62. SOM_Scope void SOMLINK somUninit(Dog * somSelf)
  63. {
  64.     DogData *somThis = DogGetData(somSelf);
  65.     DogMethodDebug("Dog", "somUninit");
  66.  
  67.     if (_color)
  68.     (*SOMFree) (_color);
  69.     if (_breed)
  70.     (*SOMFree) (_breed);
  71.     parent_somUninit(somSelf);
  72. }
  73.  
  74. SOM_Scope void SOMLINK somDumpSelfInt(Dog * somSelf,
  75.                        int level)
  76. {
  77.     DogData *somThis = DogGetData(somSelf);
  78.     DogMethodDebug("Dog", "somDumpSelfInt");
  79.     parent_somDumpSelfInt(somSelf, level);
  80. }
  81.  
  82. SOM_Scope char *SOMLINK getGenus(Dog * somSelf)
  83. {
  84.     DogData *somThis = DogGetData(somSelf);
  85.     DogMethodDebug("Dog", "getGenus");
  86.     return ("Canis");
  87. }
  88.  
  89. SOM_Scope char *SOMLINK getSpecies(Dog * somSelf)
  90. {
  91.     DogData *somThis = DogGetData(somSelf);
  92.     DogMethodDebug("Dog", "getSpecies");
  93.     return ("Familiaris");
  94. }
  95.  
  96. SOM_Scope void SOMLINK display(Dog * somSelf)
  97. {
  98.     DogData *somThis = DogGetData(somSelf);
  99.     DogMethodDebug("Dog", "display");
  100.     somPrintf("  Breed: %s\n", _getBreed(somSelf));
  101.     somPrintf("  Color: %s\n", _getColor(somSelf));
  102.     parent_display(somSelf);
  103. }
  104.