Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <tclcl.h>
- #include <cstdlib>
- extern EmbeddedTcl et_ns_lib;
- extern EmbeddedTcl et_ns_ptypes;
- int main(int argc, char *argv[]) {
- char appname[] = {"mytest"};
- // instantiate interpreter
- Tcl_Interp *interp = Tcl_CreateInterp();
- if (Tcl_Init(interp) == TCL_ERROR) {
- printf("%s\n", interp->result);
- abort();
- }
- // initialize OTcl
- if (Otcl_Init(interp) == TCL_ERROR) {
- printf("%s\n", interp->result);
- abort();
- }
- // initialize Tcl
- Tcl_SetVar(interp, "tcl_rcFileName", "~/.ns.tcl", TCL_GLOBAL_ONLY);
- Tcl::init(interp, appname);
- // import ns classes into interpreter
- printf("Loading ptypes...\n");
- et_ns_ptypes.load();
- printf("Done.\n");
- printf("Loading lib...\n");
- et_ns_lib.load();
- printf("Done.\n");
- // acquire singleton instance
- Tcl& tcl = Tcl::instance();
- tcl.evalc("set ns [new Simulator]");
- /* // Commented until I can get the previous code to work...
- Tcl_Eval(interp,"set ns [new Simulator]");
- Tcl_Eval(interp,"set tcp [new Agent/TCP]");
- Tcl_Eval(interp,"puts \"The value of tcp is $tcp\"");
- Tcl_Eval(interp,"delete $ns");
- tcl.evalc("Simulator set NumberInterfaces_");
- const char *ni = tcl.result();
- if(std::atoi(ni) != 1) {
- tcl.evalc("Simulator set NumberInterfaces_ 1");
- }
- */
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement