home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 2 / Apprentice-Release2.iso / Source Code / Libraries / Animation Class Library / CCL / Core Class Library V1.1c / Headers / CoreCmd.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-07-23  |  2.9 KB  |  85 lines  |  [TEXT/MPCC]

  1.  
  2. /********************************************
  3.  **** Core Class V1.1 © 1993-94 Yves Schmid & Alia Development
  4.  ****
  5.  **** CoreCmd.h
  6.  ****
  7.  **** Authors:        Yves Schmid and Odorico von Susani 
  8.  **** Created:      14 November 1993
  9.  **** Modified:     23 July 1994
  10.  **** Description:  CoreCmd.h contains all definitions of the Core message system.
  11.  ****
  12.  ****                When you send a message to an object you can specify a
  13.  ****                command, an information, flags, and a heritage level.
  14.  ****
  15.  ****               • Command: The command is a value you define. This value will
  16.  ****                be read by the objects which receive the message.
  17.  ****                The Core system already defines some commands.
  18.  ****                To be sure that future release of the Core system will not interfere with
  19.  ****                your definitions you must define values which stars at 1000.
  20.  ****
  21.  ****                • Information: The information is a simple void pointer. You can
  22.  ****                put what you want here.
  23.  ****
  24.  ****                • Flags: The flags allow you to choose where your message will go. You
  25.  ****                can force your message to follow a linked list or an object tree...
  26.  ****
  27.  ****               • Heritage level: You may only want the objects which have
  28.  ****                a defined heritage level to receive your message. The Core system
  29.  ****                only checks this value if you set the "CCF_CHECKLEVEL" flag.
  30.  ****
  31.  ****
  32.  ****
  33.  ****
  34.  *************************/
  35.  
  36.  
  37. #ifndef CoreCmd_H
  38. #define CoreCmd_H
  39.  
  40.  
  41. #define CCMD_NULL                    0   // Null command
  42. #define CCMD_ERROR                   1   // An error occurs
  43. #define CCMD_CONNECTIONDELETED       2   // A connection will be deleted
  44. #define CCMD_WATCHERDELETED           3   // A connection watcher will be deleted
  45. #define CCMD_CLRALREADYPASSED        4    // (Private)
  46.  
  47.  
  48. //............................................
  49. // Flags for "docmd"
  50.  
  51.     // ° For all objects:
  52.  
  53. #define CCF_CHECKLEVEL    (1<<0)  // Send only to a defined level.
  54.  
  55.  
  56.     // ° For CoreNode and CoreList:
  57.  
  58. #define CCF_NODES       (1<<1)  // Send to nodes which have the same linked list level.
  59. #define CCF_NODELOCK      (1<<2)  // (Private)
  60. #define CCF_NODEINTERN     (1<<3)  // (Private)
  61.  
  62.     // ° For CoreHead:
  63.  
  64. #define CCF_ASCENDANT       (1<<5)  // Send to ascendant objects of this CoreHead.                                                      
  65. #define CCF_DESCENDANT      (1<<6)  // Send to descendant objects of this CoreHead.
  66. #define CCF_CONNECTION        (1<<7)    // Send to his connections
  67. #define CCF_WATCHER            (1<<8)    // Send to his watchers
  68. #define CCF_MUSTDESCEND     (1<<9)  // (Private)
  69. #define CCF_ALLASCEND       (1<<10)  // (Private)
  70.  
  71.  
  72.     // Send everywhere
  73.     // (Note that each object receives the message only once)
  74.  
  75. #define CCF_EVERYWHERE (CCF_CONNECTION|CCF_WATCHER|CCF_ASCENDANT|CCF_DESCENDANT) 
  76.  
  77.     // Everywhere without connections
  78.     // (Note that each object receives the message only once)
  79.  
  80. #define CCF_EVERYWHERE_TREE (CCF_ASCENDANT|CCF_DESCENDANT|CCF_NODEINTERN|CCF_MUSTDESCEND|CCF_ALLASCEND) 
  81.  
  82.  
  83. #endif
  84.  
  85.