I am using an open source click element and it works very well. Now I want to add a new member variable to the elememt.
I define a new class in the file packetsrc.hh: #ifndef PACKETSRC_HH #define PACKETSRC_HH CLICK_DECLS class PacketSrc { // line 6 public: bool addPacket(char* data); PacketSrc(); ~PacketSrc(); private: char* packetdata; }; CLICK_ENDDECLS // line 18 #endif //PACKETSRC_H and the implementation in packetsrc.cc: #include "packetsrc.hh" CLICK_DECLS PacketSrc::PacketSrc() {} PacketSrc::~PacketSrc() {} // line 6 bool PacketSrc::addPacket(char* data) // line 8 { return false; } CLICK_ENDDECLS // line 13 ELEMENT_PROVIDES(PacketSrc) Then I use make elemlist to update the element.conf. But after 'make', there are several errors: CXX ../elements/local/packetsrc.cc In file included from ../elements/local/packetsrc.cc:1: ../elements/local/packetsrc.hh:6: error: expected constructor, destructor, or type conversion before ‘class’ ../elements/local/packetsrc.hh:18: error: ‘CLICK_ENDDECLS’ does not name a type ../elements/local/packetsrc.cc:6: error: expected constructor, destructor, or type conversion before ‘::’ token ../elements/local/packetsrc.cc:8: error: ‘PacketSrc’ has not been declared ../elements/local/packetsrc.cc:8: warning: unused parameter ‘data’ ../elements/local/packetsrc.cc:13: error: ‘CLICK_ENDDECLS’ does not name a type make[1]: *** [packetsrc.o] Error 1 make[1]: Leaving directory `/media/work/fightfxj/thesis/linux_program/click-1.6.0/userlevel' make: *** [userlevel] Error 2 How does the first error happen? Did I do anything wrong to define the class PacketSrc? I am just beginning to learn Click, maybe the question is kind of naive. So every comment will be helpful to me. Thanks very much! -- Xiaojun Feng _______________________________________________ click mailing list click@amsterdam.lcs.mit.edu https://amsterdam.lcs.mit.edu/mailman/listinfo/click