TTEthernet Model for INET Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Callback.cc
Go to the documentation of this file.
1 /*
2  * Callback.cc
3  *
4  * Created on: Sep 2, 2011
5  * Author: tillsteinbach
6  */
7 
8 #include <stdint.h>
9 #include "tte_api.h"
10 #include "TTBuffer.h"
11 #include "RCBuffer.h"
12 #include "Callback.h"
13 #include "TTEAPIApplicationBase.h"
14 
15 namespace TTEthernetModel {
16 
18  if(argSet){
19  fn(arg);
20  }
21  else{
22  tte_buffer_t buf;
23  if(dynamic_cast<TTBuffer*>(buffer) != NULL){
24  buf.traffic_type= TTE_TT_TRAFFIC;
25  }
26  else if(dynamic_cast<RCBuffer*>(buffer) != NULL){
27  buf.traffic_type= TTE_CT_TRAFFIC;
28  }
29  else{
30  buf.traffic_type= TTE_BG_TRAFFIC;
31  }
32  buf.channel=0;
33  buf.ct_id=buffer->par("ct_id").longValue();
34  buf.shared=0;
35 
36  TTEAPIPriv *priv = new TTEAPIPriv();
37  buf.priv = priv;
38  priv->buffer = buffer;
39  fn((void*)&buf);
40  if(buf.priv){
41  delete priv;
42  buf.priv=0;
43  }
44  }
45 }
46 
47 }