Lines 4-7 were replaced by lines 4-8 |
- 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: |
+ one list when adding a new feature. The aim is not |
+ to make the source code shorter. In fact, the initialization |
+ code is just moved from a central place to the modules. |
+ The main goal is to have a better structure of the code, |
+ which should be easier to maintain, and less error-prone. |
At line 8 added 4 lines. |
+ 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 19 was replaced by line 24 |
- ** in the case of an envitonment driver, also add an "else if" |
+ ** in the case of an environment driver, also add an "else if" |
Lines 24-29 were replaced by lines 29-54 |
- 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. |
+ In this function, you call AddCmd,AddIniCmd or AddCommand(SCinter.h) to |
+ insert a standalone command, startup command or an object command. To |
+ create a new driver, use either the MakeDriver function, if you want |
+ to use the MakeObject command to create the driver, or the functions |
+ MakeInitializer/GetInitializer, if you want to do use an other |
+ factory command (see initializer.h). |
+ The init function has to be added to the system by inserting one line |
+ to the SiteInit (psi.c) or InitGeneral (ofac.c) function. |
+ |
+ ''Suggestion'' |
+ |
+ At present, only the new stuff inserted by uses this scheme. I propose |
+ to move to the new scheme during next shutdown. |
+ |
+ ofac.c: |
+ |
+ * remove InitIniCommands (moving first few lines InitObjectCommands) |
+ and RemoveIniCommands. |
+ * InitGeneral to a new file named initgen.c. |
+ * Create init functions for all modules defining commands, and add |
+ calls to the InitGeneral function. |
+ |
+ psi.c: |
+ |
+ * all stuff (except SiteInit) is moved to the corresponding modules, |
+ using MakeInitializer/GetInitializer |
Lines 31-32 were replaced by line 56 |
- [#1] SCinter.h |
- [#2] initializer.h |
+ These modifications will not change the behaviour of SICS. |