📄 inifilehandle.cpp
字号:
/*****************************************************************************
* Copyright Statement:
* --------------------
* This software is protected by Copyright and the information contained
* herein is confidential. The software may not be copied and the information
* contained herein may not be used or disclosed except with the written
* permission of MediaTek Inc. (C) 2005
*
* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
*
* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
*
* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
*
*****************************************************************************/
/*****************************************************************************
*
* Filename:
* ---------
* INIFileHandle.cpp
*
* Project:
* --------
* Multiport download
*
* Description:
* ------------
* INI file handling source file
*
* Author:
* -------
* Andy Ueng (mtk00490)
*
*============================================================================
* HISTORY
* Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*------------------------------------------------------------------------------
* $Revision$
* $Modtime$
* $Log$
*
*------------------------------------------------------------------------------
* Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
*============================================================================
****************************************************************************/
#include <inifiles.hpp>
#pragma hdrstop
#ifndef _MULTIPORT_COMMON_H_
#include "multiport_common.h"
#endif
#include "MultiPort_Utils.h"
#include "INIFileHandle.h"
//==============================================================================
AnsiString CINIFileHandle::read_field(AnsiString asSetupFile,AnsiString asExeName, AnsiString asSecName, AnsiString asFieldName, AnsiString asDefStr)
{
AnsiString asPath;
AnsiString as_str;
if ( getPathFromStr(asExeName, asPath) &&
withPath( asPath) &&
!withPath( asSetupFile)
)
{
asSetupFile = asPath + asSetupFile;
}
TIniFile *ini;
try
{
ini = new TIniFile( asSetupFile );
if(ini != NULL)
{
as_str = ini->ReadString(asSecName, asFieldName, asDefStr);
delete ini;
return as_str;
}
return (asDefStr);
}
catch (...)
{
ShowMessage( " read setup file " + asSetupFile + " error: " + asFieldName);
}
}
//---------------------------------------------------------------------------
void CINIFileHandle::write_field(AnsiString asSetupFile, AnsiString asExeName, AnsiString asSecName, AnsiString asFieldName, AnsiString asStr)
{
AnsiString asPath;
if ( getPathFromStr(asExeName, asPath) &&
withPath( asPath) &&
!withPath( asSetupFile)
)
{
asSetupFile = asPath + asSetupFile;
}
TIniFile *ini;
try
{
ini = new TIniFile( asSetupFile );
if(ini != NULL)
{
ini->WriteString(asSecName, asFieldName, asStr );
delete ini;
ini = NULL;
}
}
catch (...)
{
ShowMessage( " write setup file : " + asSetupFile + " error" + asStr);
}
}
//==============================================================================
AnsiString CINIFileHandle::read_Operation(AnsiString asSetupFile,AnsiString asExeName)
{
AnsiString as_Operation = read_field(asSetupFile, asExeName, "form", "Operation", "NOR");
return as_Operation;
}
//----------------------------------------------------------------------------
void CINIFileHandle::write_Operation(AnsiString asSetupFile, AnsiString asExeName, AnsiString as_Operation)
{
write_field(asSetupFile, asExeName, "form", "Operation", as_Operation);
}
//==============================================================================
AnsiString CINIFileHandle::read_DA_bin(AnsiString asSetupFile,AnsiString asExeName)
{
AnsiString as_DA_bin = read_field(asSetupFile, asExeName, "form","DA_bin", "6205B.bin");
return as_DA_bin;
}
//---------------------------------------------------------------------------
void CINIFileHandle::write_DA_bin(AnsiString asSetupFile, AnsiString asExeName, AnsiString as_DA_bin)
{
write_field(asSetupFile, asExeName, "form", "DA_bin", as_DA_bin);
}
//==============================================================================
AnsiString CINIFileHandle::read_Scatter( AnsiString asSetupFile,AnsiString asExeName, int idx )
{
AnsiString as_KEY_NAME = "Scatter" + IntToStr( idx );
AnsiString as_Scatter = read_field(asSetupFile, asExeName, "form", as_KEY_NAME, "");
return as_Scatter;
}
//---------------------------------------------------------------------------
void CINIFileHandle::write_Scatter(AnsiString asSetupFile, AnsiString asExeName, int idx, AnsiString as_Scatter)
{
AnsiString as_KEY_NAME = "Scatter" + IntToStr( idx );
write_field(asSetupFile, asExeName, "form", as_KEY_NAME, as_Scatter);
}
//==============================================================================
AnsiString CINIFileHandle::read_ROM(AnsiString asSetupFile,AnsiString asExeName, int idx)
{
AnsiString as_KEY_NAME = "ROM" + IntToStr(idx);
AnsiString as_ROM = read_field(asSetupFile, asExeName, "form", as_KEY_NAME, "MT6205B.bin");
return as_ROM;
}
//---------------------------------------------------------------------------
void CINIFileHandle::write_ROM(AnsiString asSetupFile, AnsiString asExeName, int idx, AnsiString as_ROM)
{
AnsiString as_KEY_NAME = "ROM" + IntToStr(idx);
write_field(asSetupFile, asExeName, "form", as_KEY_NAME, as_ROM);
}
//==============================================================================
AnsiString CINIFileHandle::read_FAT(AnsiString asSetupFile,AnsiString asExeName, int idx)
{
AnsiString as_KEY_NAME = "FAT" + IntToStr(idx);
AnsiString as_FAT = read_field(asSetupFile, asExeName, "form", as_KEY_NAME, "MT6205B_FAT.bin");
return as_FAT;
}
//---------------------------------------------------------------------------
void CINIFileHandle::write_FAT(AnsiString asSetupFile, AnsiString asExeName, int idx, AnsiString as_FAT)
{
AnsiString as_KEY_NAME = "FAT" + IntToStr(idx);
write_field(asSetupFile, asExeName, "form", as_KEY_NAME, as_FAT);
}
//==============================================================================
AnsiString CINIFileHandle::read_TheFirstComPortNo(AnsiString asSetupFile,AnsiString asExeName)
{
AnsiString as_FirstComPortNo = read_field(asSetupFile, asExeName, "form","TheFirstComPortNo", "3");
return as_FirstComPortNo;
}
//---------------------------------------------------------------------------
void CINIFileHandle::write_TheFirstComPortNo(AnsiString asSetupFile, AnsiString asExeName, AnsiString as_TheFirstComPortNo)
{
write_field(asSetupFile, asExeName, "form", "TheFirstComPortNo", as_TheFirstComPortNo);
}
//==============================================================================
AnsiString CINIFileHandle::read_ComEnabled(AnsiString asSetupFile,AnsiString asExeName)
{
AnsiString as_ComEnabled = read_field(asSetupFile, asExeName, "form","ComportEnabled", "1");
return as_ComEnabled;
}
//---------------------------------------------------------------------------
void CINIFileHandle::write_ComEnabled(AnsiString asSetupFile, AnsiString asExeName, AnsiString as_ComportEnabled)
{
write_field(asSetupFile, asExeName, "form", "ComportEnabled", as_ComportEnabled);
}
//==============================================================================
bool CINIFileHandle::read_ComPortSetting(AnsiString asSetupFile,AnsiString asExeName, vector<AnsiString> &vAs)
{
for(int i=0; i<MAX_SUPPORT_PORT_NUM; i++)
{
AnsiString as_COM = read_field(asSetupFile, asExeName, "COM port setting", "COM_ENUM"+IntToStr(i+1), "0xFF");
if( as_COM.AnsiCompareIC("0xFF") != 0 )
{
vAs.push_back(as_COM);
}
}
return true;
}
//--------------------------------------------------------------------------
void CINIFileHandle::write_ComPortSetting(AnsiString asSetupFile, AnsiString asExeName, vAsniString &vAs)
{
int i;
vector<AnsiString>:: iterator iter;
AnsiString as;
for( i=0, iter = vAs.begin(); i<MAX_SUPPORT_PORT_NUM, iter != vAs.end(); i++, iter++)
{
as=*iter;
write_field(asSetupFile, asExeName, "COM port setting", "COM_ENUM"+IntToStr(i+1), as);
}
}
//==============================================================================
AnsiString CINIFileHandle::read_AutoPollingEnabled(AnsiString asSetupFile,AnsiString asExeName)
{
AnsiString as_AutoPollingEnabled = read_field(asSetupFile, asExeName, "form", "Auto polling enabled", "0xFF");
return as_AutoPollingEnabled;
}
//--------------------------------------------------------------------------
void CINIFileHandle::write_AutoPollingEnabled(AnsiString asSetupFile, AnsiString asExeName, AnsiString as_AutoPollingEnabled)
{
write_field(asSetupFile, asExeName, "form", "Auto polling enabled", as_AutoPollingEnabled);
}
//==============================================================================
AnsiString CINIFileHandle::read_LV_FAT_index( AnsiString asSetupFile, AnsiString asExeName, int idx )
{
AnsiString as_KEY_NAME = "rom_info_FAT_index" + IntToStr( idx );
AnsiString as_LV_FAT_index = read_field(asSetupFile, asExeName, "Download", as_KEY_NAME, "0");
return as_LV_FAT_index;
}
//-----------------------------------------------------------------------------
void CINIFileHandle::write_LV_FAT_index(AnsiString asSetupFile, AnsiString asExeName, int idx, AnsiString as_LV_FAT_index)
{
AnsiString as_KEY_NAME = "rom_info_FAT_index" + IntToStr( idx );
write_field(asSetupFile, asExeName, "Download", as_KEY_NAME, as_LV_FAT_index);
}
//==============================================================================
AnsiString CINIFileHandle::read_LV_count(AnsiString asSetupFile,AnsiString asExeName)
{
AnsiString as_LV_count = read_field(asSetupFile, asExeName, "Download", "rom_info_count", "0");
return as_LV_count;
}
//--------------------------------------------------------------------------
void CINIFileHandle::write_LV_count(AnsiString asSetupFile, AnsiString asExeName, AnsiString asSecName, AnsiString as_LV_count)
{
write_field(asSetupFile, asExeName, "Download", asSecName, as_LV_count);
}
//==============================================================================
AnsiString CINIFileHandle::read_LV_name(AnsiString asSetupFile,AnsiString asExeName, int index)
{
AnsiString as_LV_name = read_field(asSetupFile, asExeName, "Download", "rom_info_name"+IntToStr(index), "");
return as_LV_name;
}
//--------------------------------------------------------------------------
void CINIFileHandle::write_LV_name(AnsiString asSetupFile, AnsiString asExeName, AnsiString asSecName, AnsiString as_LV_name)
{
write_field(asSetupFile, asExeName, "Download", asSecName, as_LV_name);
}
//==============================================================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -