Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Tools/Process.h File Reference

Contains the definition of class Process and macros for receivers and senders. More...

#include "Tools/MessageQueue/MessageQueue.h"
#include "Tools/Debugging/DebugKeyTable.h"
#include "Tools/Module/ModuleHandler.h"
#include "Platform/ProcessFramework.h"

Include dependency graph for Process.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Classes

class  Process
 System independent base class for Processes. More...

class  MultiDebugSender
 This template class implements a sender for debug packages. More...

class  DebugSender
 This class implements a sender for MessageQueues. More...


Defines

#define DEBUGGING
 The macro declares two debugging queues.

#define INIT_DEBUGGING
 The macro initializes the two debugging queues and the base class.

#define RECEIVER(type)   Receiver<type> the##type##Receiver
 The macro declares a receiver.

#define INIT_RECEIVER(type, blocking)   the##type##Receiver(this,"Receiver." #type ".O",blocking)
 The macro initializes a receiver for a certain type.

#define SENDER(type)   Sender<type> the##type##Sender
 The macro declares a sender.

#define INIT_SENDER(type, blocking)   the##type##Sender(this,"Sender." #type ".S",blocking)
 The macro initializes a sender for a certain type.

#define DEBUG_RECEIVER(source)
 The macro declares a receiver for a MessageQueue.

#define INIT_DEBUG_RECEIVER(source)   the##source##Receiver(this,#source "Receiver.MessageQueue.O",false) \
 The macro initializes a receiver for a MessageQueue.

#define DEBUG_SENDER(target)
 The macro declares a sender for a MessageQueue.

#define INIT_DEBUG_SENDER(target)   the##target##Sender(this,#target "Sender.MessageQueue.S",false)
 The macro initializes a sender for a MessageQueue.


Detailed Description

Contains the definition of class Process and macros for receivers and senders.

Definition in file Process.h.


Define Documentation

#define DEBUGGING
 

Value:

Receiver<MessageQueue> theDebugReceiver; \
  DebugSender theDebugSender
The macro declares two debugging queues.

The macro shall be the first entry in the declaration of a process.

Definition at line 144 of file Process.h.

#define INIT_DEBUGGING
 

Value:

Process(theDebugReceiver,theDebugSender), \
  theDebugReceiver(this,"Receiver.MessageQueue.O",false), \
  theDebugSender(this,"Sender.MessageQueue.S",false)
The macro initializes the two debugging queues and the base class.

The macro shall be the first entry after the colon in constructor of the process.

Definition at line 153 of file Process.h.

Referenced by Cognition::Cognition(), Logger::Logger(), and Motion::Motion().

#define RECEIVER type   )     Receiver<type> the##type##Receiver
 

The macro declares a receiver.

It must be used inside a declaration of a process, after the macro DEBUGGING.

Parameters:
type The type of the package. The variable actually declared has a type compatible to "type" and is called "thetypeReceiver".

Definition at line 164 of file Process.h.

#define INIT_RECEIVER type,
blocking   )     the##type##Receiver(this,"Receiver." #type ".O",blocking)
 

The macro initializes a receiver for a certain type.

It must be part of the initializer list of the constructor of the process.

Parameters:
type The type of the package. The variable actually declared has a type compatible to "type" and is called "thetypeReceiver".
blocking Decides whether this receiver blocks the execution of the next frame until it has received a package.

Definition at line 175 of file Process.h.

Referenced by Cognition::Cognition(), and Motion::Motion().

#define SENDER type   )     Sender<type> the##type##Sender
 

The macro declares a sender.

It must be used inside a declaration of a process, after the macro DEBUGGING.

Parameters:
type The type of the package. The variable actually declared has a type compatible to "type" and is called "thetypeSender".

Definition at line 184 of file Process.h.

#define INIT_SENDER type,
blocking   )     the##type##Sender(this,"Sender." #type ".S",blocking)
 

The macro initializes a sender for a certain type.

It must be part of the initializer list of the constructor of the process.

Parameters:
type The type of the package. The variable actually declared has a type compatible to "type" and is called "thetypeSender".
blocking Decides whether this sender blocks the execution of the next frame until all connected receivers have requested a new package.

Definition at line 195 of file Process.h.

Referenced by Cognition::Cognition(), and Motion::Motion().

#define DEBUG_RECEIVER source   ) 
 

Value:

class Receive##source##MessageQueue : public MessageQueue {}; \
  Receiver<Receive##source##MessageQueue> the##source##Receiver
The macro declares a receiver for a MessageQueue.

It must be used inside a declaration of a process, after the macro DEBUGGING. It shall only be used in the Debug process.

Parameters:
source The source process of the package. The variable actually declared is of type MessageQueue and is called "thesourceReceiver".

Definition at line 205 of file Process.h.

#define INIT_DEBUG_RECEIVER source   )     the##source##Receiver(this,#source "Receiver.MessageQueue.O",false) \
 

The macro initializes a receiver for a MessageQueue.

It must be part of the initializer list of the constructor of the process.

Parameters:
source The source process of the package. The variable actually declared is of type MessageQueue and is called "thesourceReceiver".

Definition at line 215 of file Process.h.

Referenced by Debug::Debug().

#define DEBUG_SENDER target   ) 
 

Value:

class Send##target##MessageQueue : public MessageQueue {}; \
  MultiDebugSender<Send##target##MessageQueue> the##target##Sender
The macro declares a sender for a MessageQueue.

It must be used inside a declaration of a process, after the macro DEBUGGING. It shall only be used in the Debug process.

Parameters:
target The target process of the package. The variable actually declared is of type MessageQueue and is called "thetargetReceiver".

Definition at line 225 of file Process.h.

#define INIT_DEBUG_SENDER target   )     the##target##Sender(this,#target "Sender.MessageQueue.S",false)
 

The macro initializes a sender for a MessageQueue.

It must be part of the initializer list of the constructor of the process.

Parameters:
target The target process of the package. The variable actually declared is of type MessageQueue and is called "thetargetSender".

Definition at line 235 of file Process.h.

Referenced by Debug::Debug().


Generated on Thu Sep 23 20:03:31 2004 for GT2004 by doxygen 1.3.6