Lines 4-6 were replaced by lines 4-7 |
- one list when adding a new feature. Let us start with an |
- example: You have written a new environment driver, and you |
- want to add it to the system... |
+ one list when adding a new feature. Let us look at the |
+ difference when adding a command or driver. Before using this |
+ scheme, there were many different places in psi/psi.c where |
+ modifications had to be added: |
Line 8 was replaced by lines 9-20 |
- !Adding a new feature |
+ * when adding a new command |
+ ** prototype declaration of the command function or include |
+ statement |
+ ** inserting the command to the AddPsiCommands function |
+ ** if it is a startup command, inserting the command to |
+ the RemovePsiCommands function |
+ * when adding a new driver |
+ ** prototype declaration of the driver creation function or |
+ include statement |
+ ** adding a "else if" clause to the CreatePsiXXX function |
+ ** in the case of an envitonment driver, also add an "else if" |
+ clause to the ConfigureController function. |
At line 9 added 11 lines. |
+ With the new scheme, for a module one has one init function, |
+ with prototype "void (void)" placed in the source file of the module. |
+ In this function, for standalone commands, either AddIniCmd[1] or |
+ AddCmd[1] is called to insert a startup or normal command. To create |
+ a new driver, use either the MakeDriver function, if you want |
+ to use the MakeObject[2] command to create the driver, or the functions |
+ MakeInitializer/GetInitializer[2], if you want to do use an other |
+ factory command. |
+ |
+ [#1] SCinter.h |
+ [#2] initializer.h |