這裡只很簡單的講述程式檔案,資料結構,各結構的關係和如何implement
內部的Function因為需要很長的篇幅,留待以後有機會再討論.
1.需更動的程式檔案及說明
要從設定底層的PSI新增一個變數到Web UI上
必定要更動的有以下檔案: (以我最近做的VLan Priority為例)
cgimain.c 處理CgiGetTable,CgiSetTable WEB_NTWK_VAR
dbapi.cpp 處理DbDefaultTable,程式下半部是BRCM對於psi更深入的處理
ifcuiweb.cpp 處理DbDefaultTable PWEB_NTWK_VAR
psixml.cpp 處理WanConInfo
ifcdefs.h 定義WanConInfo
另外以下是是情況需要而需要更動的檔案
dbapi.h 定義DbDefaultTable的資料結構
cgimain.h 定義PWEB_NTWK_VAR WEB_NTWK_VAR的資料結構
VLan Priority Feature還需要更動以下檔案來讀取變數做相關的應用
climenuwan.cpp 應用WanConInfo
ifcuicli.cpp 應用WanConInfo
pvccfg.html 應用CgiGetTable
如果要新增相關的Feature,就需要追蹤其相關的變數可能會應用到的地方並修改之
這些程式檔案都是針對其中幾個重要的資料結構做操作
簡述如下:
CgiGetTable web cgi讀取變數的地方
CgiSetTable web cgi存放設定值的地方
WanConInfo VLan Priority會用的到資料結構,會用到哪種資料結構
由處理的Feature決定
WEB_NTWK_VAR
PWEB_NTWK_VAR 以上兩個是相同的資料結構 存放所有web相關的全域變數
DbDefaultTable web cgi的預設值
2.基本架構與關係