IPSEC+NAT+GRE+ACL+VOIP+SNMP配置
2007-12-12 17:41
429 查看
<iframe align="top" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog01.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
原文地址:http://www.goodod.com/html/68/bencandy_9415.htm
如果程序中需要配置文件(如保存进度,声音等)那可以使用ini文件来处理,同MFC一样也有专门处理配置文件的API,这就是OpenIniFileLC(RFs&aFs)。
首要的一条,你的程度要支持ini文件,那就要重载这个CEikApplication的成员函数,否则程序执行起来会报错,而重载时只要如下语句即可:
CDictionaryStore*CMyApp::OpenIniFileLC(RFs&aFs)const
{
returnCEikApplication::OpenIniFileLC(aFs);
}
这样的话,程序可以在你启动时自动的创建一个ini——如果检测到没有的情况下。而这个ini一般是创建在C:\System\App\MyApp目录下的,注意即使用户选择安装在E盘,那还是会把ini安装在系统盘上,SDK说明这个默认盘符是放在KIniFileDrive里,但我还没有找到办法如何去修改它,如果你知道了告诉我一声哦:)
一般配制文件要供全局使用,可能要跨越多个view,因此我们把它的操作及数据定义在UI级别,在MyAppUi的ConstructL()函数中有如下语句:
//处理基本的数据
deleteiMyConfig;
iMyConfig=CMyConfigData::NewL();
CDictionaryStore*store=Application()->OpenIniFileLC(iCoeEnv->FsSession());
if(store->IsPresentL(KUidKey))
{
LoadIniFile(store);
}
else
{
iMyConfig->SetDefault();
SaveIniFile(store);
}
CleanupStack::PopAndDestroy();
//--结束处理
voidCMyAppUi::SaveIniFile(CDictionaryStore*aStore)
{
RDictionaryWriteStreamout;
out.AssignLC(*aStore,KUidKey);
outout.CommitL();
CleanupStack::PopAndDestroy();
aStore->CommitL();
}
voidCAknExSettingListAppUi::LoadIniFile(CDictionaryStore*aStore)
{
RDictionaryReadStreamin;
in.OpenLC(*aStore,KUidKey);
in>>*iMyConfig;
CleanupStack::PopAndDestroy();
}
当然具体的CMyConfigData里还要有一些相应的导入导出处理,这样才完美:)
有时候我们还需要在程序中处理一下配置的保存,那我们可以使用如下代码(在view中):
CDictionaryStore*IniFile=AppUi()->Application()->OpenIniFileLC(CCoeEnv::Static()->FsSession());
RDictionaryWriteStreamWriteStream;
WriteStream.AssignLC(*IniFile,KUidKey);
WriteStreamWriteStream.CommitL();
CleanupStack::PopAndDestroy();
IniFile->CommitL();
CleanupStack::PopAndDestroy();
把它放在一个函数中即可:)
最后要说明的是,如果不在pkg里有明确说明,那保存在系统盘上的ini在程序被删除后是不会丢失的,这就造成了垃圾文件,我们只需要在pkg中加入下面一句就可以彻底删除这些:
;RemoveINIfilewhenuninstallingtheapp.
""-"C:\system\apps\MyApp\MyApp.ini",FN
FN表明这个文件在程序运行时才生成,现在为空。前面用的是“”。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1449655
原文地址:http://www.goodod.com/html/68/bencandy_9415.htm
如果程序中需要配置文件(如保存进度,声音等)那可以使用ini文件来处理,同MFC一样也有专门处理配置文件的API,这就是OpenIniFileLC(RFs&aFs)。
首要的一条,你的程度要支持ini文件,那就要重载这个CEikApplication的成员函数,否则程序执行起来会报错,而重载时只要如下语句即可:
CDictionaryStore*CMyApp::OpenIniFileLC(RFs&aFs)const
{
returnCEikApplication::OpenIniFileLC(aFs);
}
这样的话,程序可以在你启动时自动的创建一个ini——如果检测到没有的情况下。而这个ini一般是创建在C:\System\App\MyApp目录下的,注意即使用户选择安装在E盘,那还是会把ini安装在系统盘上,SDK说明这个默认盘符是放在KIniFileDrive里,但我还没有找到办法如何去修改它,如果你知道了告诉我一声哦:)
一般配制文件要供全局使用,可能要跨越多个view,因此我们把它的操作及数据定义在UI级别,在MyAppUi的ConstructL()函数中有如下语句:
//处理基本的数据
deleteiMyConfig;
iMyConfig=CMyConfigData::NewL();
CDictionaryStore*store=Application()->OpenIniFileLC(iCoeEnv->FsSession());
if(store->IsPresentL(KUidKey))
{
LoadIniFile(store);
}
else
{
iMyConfig->SetDefault();
SaveIniFile(store);
}
CleanupStack::PopAndDestroy();
//--结束处理
voidCMyAppUi::SaveIniFile(CDictionaryStore*aStore)
{
RDictionaryWriteStreamout;
out.AssignLC(*aStore,KUidKey);
outout.CommitL();
CleanupStack::PopAndDestroy();
aStore->CommitL();
}
voidCAknExSettingListAppUi::LoadIniFile(CDictionaryStore*aStore)
{
RDictionaryReadStreamin;
in.OpenLC(*aStore,KUidKey);
in>>*iMyConfig;
CleanupStack::PopAndDestroy();
}
当然具体的CMyConfigData里还要有一些相应的导入导出处理,这样才完美:)
有时候我们还需要在程序中处理一下配置的保存,那我们可以使用如下代码(在view中):
CDictionaryStore*IniFile=AppUi()->Application()->OpenIniFileLC(CCoeEnv::Static()->FsSession());
RDictionaryWriteStreamWriteStream;
WriteStream.AssignLC(*IniFile,KUidKey);
WriteStreamWriteStream.CommitL();
CleanupStack::PopAndDestroy();
IniFile->CommitL();
CleanupStack::PopAndDestroy();
把它放在一个函数中即可:)
最后要说明的是,如果不在pkg里有明确说明,那保存在系统盘上的ini在程序被删除后是不会丢失的,这就造成了垃圾文件,我们只需要在pkg中加入下面一句就可以彻底删除这些:
;RemoveINIfilewhenuninstallingtheapp.
""-"C:\system\apps\MyApp\MyApp.ini",FN
FN表明这个文件在程序运行时才生成,现在为空。前面用的是“”。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1449655
相关文章推荐
- IPSec配置命令及IPSec应用的ACL和NAT应用的ACL的比较
- 配置IPsec on GRE Tunnel with IOS Firewall and NAT
- CISCO+IPSEC+NAT配置实例
- H3C MSR系列路由器IPSEC Over GRE功能的配置
- Win7-Vista如何配置 NAT-T 设备后面的 L2TP/IPsec 服务器
- IPSEC穿透nat的典型组网和配置
- GRE OVER IPSEC的配置
- 大型网络配置系列课程详解(十一) ---IPSec over GRE隧道 ***实验
- 7200的GRE(隧道)+ipsec(传输模式+pre-share)配置
- 华为路由器IPSec -Over-GRE典型配置
- IPsec over GRE 和GRE over IPsec比较和区别与配置
- 在GRE隧道上配置基于预共享密钥的IPsec
- ipsec穿越NAT功能的配置
- IPsec over GRE 和GRE over IPsec比较和区别与配置
- ACL,NAT和DHCP的使用和配置