[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
ns problem
May I ask a basic question?
How to add a new class object(no matter C++ fomat or Tcl format)
The following is my adding steps.
(1). the creation of C++ class:
I edit a tsw.cc and tsw.h , add "tsw.o" to Makefile, and compiled ok.
------------------------------------------------------------------------------------
static class TSWClass : public TclClass {
public:
TSWClass() : TclClass("TSW") {}
TclObject* create(int, const char*const*) {
return (new TSW());
}
}class_TSW;
(in tsw.cc)
------------------------------------------------------------------------------------
class TSW : public Connector {
public:
TSW();
int command(int argc, const char*const* argv);
protected:
:
:
}
(in tsw.h)
------------------------------------------------------------------------------------
(2). used by Tcl scripts:
I edit a tcl script include create this object ( "set tsw_ [new TSW]"
in
rr.tcl).
(3). error
ns return the error message of tcl script(rr.tcl)
------------------------------------------------------------------------------------
[~/ns2/ns-2/tcl/test#]ns rr.tcl
invalid command name "TSW"
while executing
"Tsw create _o72 "
invoked from within
"catch "$className create $o $args" msg"
(procedure "new" line 3)
invoked from within
"new Tsw"
(procedure "_o3" line 9)
(Simulator duplex-rio_tsw-link line 9)
invoked from within
"$ns duplex-rio_tsw-link $n(2) $n(3) 5Mb 2ms"
(file "rr.tcl" line 44)
[~/ns2/ns-2/tcl/test#]
------------------------------------------------------------------------------------
It cannot find the new object.I think there should be some other steps
beteen (1) and (2).
Whould you please tell me the correct adding steps.
Thanks a lot.
ps: I have already read the Greis's tutorial and ns documentation
chapter 8.
They are talking about Agent and Packet adding and I have imitated
their
adding
steps .It still does not work.
Is it possible to add a new class in ns.(not agent or packet)