ns-3 Direct Code Execution
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
dce-application.h
Go to the documentation of this file.
1 #ifndef DCE_APPLICATION_H
2 #define DCE_APPLICATION_H
3 
4 #include "ns3/application.h"
5 #include "ns3/traced-callback.h"
6 
7 namespace ns3 {
8 
23 class DceApplication : public Application
24 {
25 public:
26  static TypeId GetTypeId (void);
27 
28  DceApplication ();
29  virtual ~DceApplication ();
30 
31  void SetBinary (std::string filename);
32  void SetStackSize (uint32_t stackSize);
33  void SetArguments (std::vector<std::string> args);
34  void SetEnvironment (std::vector<std::pair<std::string,std::string> > envs);
35  void SetStdinFile (std::string filename);
36  void SetFinishedCallback (Callback<void,uint16_t,int> cb);
37  void SetUid (uid_t i);
38  void SetEuid (uid_t i);
39  void SetGid (uid_t i);
40  void SetEgid (uid_t i);
41 
42 private:
43  // inherited from Application base class.
44  virtual void StartApplication (void);
45  virtual void StopApplication (void);
46  virtual void DoDispose (void);
47 
48  std::string m_filename;
49  uint32_t m_stackSize;
50  std::vector<std::string> m_args;
51  std::vector<std::pair<std::string,std::string> > m_envs;
52  uint16_t m_pid;
53  TracedCallback<uint16_t> m_dceStarted;
54  std::string m_stdinFilename;
55  Callback<void,uint16_t,int> m_finishedCallback;
56  uid_t m_uid;
57  uid_t m_euid;
58  uid_t m_gid;
59  uid_t m_egid;
60 };
61 
62 } // namespace ns3
63 
64 #endif /* DCE_APPLICATION_H */