|
Bugzilla – Full Text Bug Listing |
| Summary: | SetInterfaceId is too easy to forget | ||
|---|---|---|---|
| Product: | ns-3 | Reporter: | Mathieu Lacage <mathieu.lacage> |
| Component: | core | Assignee: | ns-bugs <ns-bugs> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | gjcarneiro |
| Priority: | P3 | ||
| Version: | pre-release | ||
| Hardware: | All | ||
| OS: | All | ||
| Attachments: | Add CreateObject to create subclasses of the Object base class | ||
|
Description
Mathieu Lacage
2008-01-02 03:08:15 UTC
Created attachment 101 [details]
Add CreateObject to create subclasses of the Object base class
The new CreateObject method introduced here calls SetInterfaceId directly, hence making the extra call to SetInterfaceId from an object's constructor useless.
I hate the fact that this ruins my python bindings. :-( I have a suggestion: why not make the Object::Object constructor require an InterfaceId argument, and make this base constructor call AddInterfaceId? This way if you forget the InterfaceId you get a compile time error, and it's easy to fix the code. (In reply to comment #2) > I hate the fact that this ruins my python bindings. :-( I am willing to make a patch for your bindings to ease integration of this patch. Would you mind explain what exactly in this patch makes the automatically-generated bindings cry ? > I have a suggestion: why not make the Object::Object constructor require an > InterfaceId argument, and make this base constructor call AddInterfaceId? This > way if you forget the InterfaceId you get a compile time error, and it's easy > to fix the code. The problem with the approach you suggest is that it is going to require you to propagate the interface id from a subclass up to the base class: if there are 2 or 3 intermeditate classes, this is a lot of work. Another problem is that this patch is the base of a larger set of patches which aim at improving/adding features to the Object framework. fixed by ns-3-object |