//-------------------------------------------------------------
// file: $$MODULE_NAME$$.cpp
//-------------------------------------------------------------
#include <omnetpp.h>
// $$MODULE_NAME$$ simple module class
//
// $$DESCRIPTION$$
//
class $$MODULE_NAME$$ : public cSimpleModule
{
// retrieved module parameters and pre-calculated data
const char *first_param;
double second_param;
// module state variables
enum {IDLE,BUSY} module_state; // just an example
// scalar results (to be stored from finish())
int total_msgs; // just an example
// member functions
Module_Class_Members($$MODULE_NAME$$,cSimpleModule,0)
virtual void initialize();
virtual void handleMessage(cMessage *msg);
// ...
// further member functions (if you want to break up handleMessage() into smaller functions)
// ...
virtual void finish();
};
Define_Module( $$MODULE_NAME$$ );
void $$MODULE_NAME$$::initialize()
{
// initialize class data members
first_param = par("first_param");
second_param = par("second_param");
module_state = IDLE;
total_msgs = 0;
// schedule first message (if needed)
// ...
}
void $$MODULE_NAME$$::handleMessage(cMessage *msg)
{
// handle the message according to the simple module algorithm
// ...
// (msg must be either sent further, scheduled, or deleted)
// ...
}
void $$MODULE_NAME$$::finish()
{
// save summary results (if any)
recordScalar("total_msgs", total_msgs);
}
syntax highlighted by Code2HTML, v. 0.9.1