Adding interface extension notes

parent da7f8d98
......@@ -36,3 +36,14 @@ It is recommended to clone and follow the build guide of the parent project [VA]
You can build VABase using a C++11 compiler. Use CMake to generate project files that help building it, for instance Makefiles or Visual Studio solutions. VABase has no dependencies.
If you want to include VA into your application, you either have to link against VANet or VACore (see above).
#### Extending the VA interface
If you want to extend the abstract VA interface, this move will effect VA deeply. Only consider an extension of the interface if you are sure that this new features are absolutely necessary and will improve the usage of VA significantly.
Interface extension workflow:
1. Add the virtual methods to IVAInterface
2. Add classes to VABase, if necessary
3. Implement the methods in VANet by using similar methods as template. Make sure to use a new net message identifier. Add message serializer/deserializer if you introduce a new data class. Do not make mistakes here, the debugging of VANet problems are painful.
4. Add the methods to VACore. Now you can already run VA as a server.
5. Don't forget to add your new methods to the bindings. Here, at least provide the new features for VAPython and VAMatlab as they are heavily used. Again, use similar methods as templates and be careful, because debugging is cumbersome.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment