You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
4.0 KiB
118 lines
4.0 KiB
/****************************** Module Header ******************************\
|
|
* Module Name: imkrinst.h
|
|
*
|
|
* Copyright (c) 2000, Microsoft Corporation
|
|
*
|
|
* IMKRINST, main header file
|
|
*
|
|
\***************************************************************************/
|
|
#if !defined (_IMKRINST_H__INCLUDED_)
|
|
#define _IMKRINST_H__INCLUDED_
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Global constants
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Line buffer length for script file.
|
|
const int _cchBuffer = 1024;
|
|
|
|
// Error code returned from ProcessScriptFile.
|
|
enum
|
|
{
|
|
errNoError,
|
|
errNoFile,
|
|
errFileList,
|
|
errSetDefaultParameters,
|
|
errSetVersion,
|
|
errPreSetupCheck,
|
|
errRenameFile,
|
|
errRegisterIME,
|
|
errRegisterIMEandTIP,
|
|
errRegisterInterface,
|
|
errRegisterInterfaceWow64,
|
|
errAddToPreload,
|
|
errPrepareMigration,
|
|
errRegisterPackageVersion,
|
|
errRegisterPadOrder,
|
|
errCmdCreateDirectory,
|
|
errCmdRegisterHelpDirs
|
|
};
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// Utility classes
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// FileListElement. Constructs FileListSet.
|
|
//
|
|
class FLE
|
|
{ // I use short incomprehensible name such as "FLE"
|
|
public: // since we'll meet many C4786 warnings when I use
|
|
BOOL fRemoved; // longer name.
|
|
TCHAR szFileName[MAX_PATH];
|
|
};
|
|
|
|
// binary operator required to construct a set of this class.
|
|
bool operator < (const FLE &fle1, const FLE &fle2)
|
|
{
|
|
return(0 > lstrcmpi(fle1.szFileName, fle2.szFileName));
|
|
};
|
|
|
|
//
|
|
// VersionComparison. Used to compare two version info. Used for IsNewer.
|
|
//
|
|
class VersionComparison2
|
|
{
|
|
public:
|
|
VersionComparison2(const DWORD arg_dwMajorVersion, const DWORD arg_dwMinorVersion)
|
|
: dwMajorVersion(arg_dwMajorVersion), dwMinorVersion(arg_dwMinorVersion){};
|
|
|
|
virtual bool operator <(const VersionComparison2 &vc2)
|
|
{
|
|
if((dwMajorVersion < vc2.dwMajorVersion) ||
|
|
((dwMajorVersion == vc2.dwMajorVersion) && (dwMinorVersion < vc2.dwMinorVersion)))
|
|
return(true);
|
|
else
|
|
return(false);
|
|
}
|
|
|
|
virtual bool operator ==(const VersionComparison2 &vc2)
|
|
{
|
|
return((dwMajorVersion == vc2.dwMajorVersion) && (dwMinorVersion == vc2.dwMinorVersion));
|
|
}
|
|
|
|
private:
|
|
DWORD dwMajorVersion;
|
|
DWORD dwMinorVersion;
|
|
};
|
|
|
|
class VersionComparison4
|
|
{
|
|
public:
|
|
VersionComparison4(const DWORD arg_dwMajorVersion, const DWORD arg_dwMiddleVersion, const DWORD arg_dwMinorVersion, const DWORD arg_dwBuildNumber)
|
|
: dwMajorVersion(arg_dwMajorVersion), dwMiddleVersion(arg_dwMiddleVersion), dwMinorVersion(arg_dwMinorVersion), dwBuildNumber(arg_dwBuildNumber){};
|
|
|
|
virtual bool operator <(const VersionComparison4 &vc4)
|
|
{
|
|
if((dwMajorVersion < vc4.dwMajorVersion) ||
|
|
((dwMajorVersion == vc4.dwMajorVersion) && (dwMiddleVersion < vc4.dwMiddleVersion)) ||
|
|
((dwMajorVersion == vc4.dwMajorVersion) && (dwMiddleVersion == vc4.dwMiddleVersion) && (dwMinorVersion < vc4.dwMinorVersion)) ||
|
|
((dwMajorVersion == vc4.dwMajorVersion) && (dwMiddleVersion == vc4.dwMiddleVersion) && (dwMinorVersion == vc4.dwMinorVersion) && (dwBuildNumber < vc4.dwBuildNumber)))
|
|
return(true);
|
|
else
|
|
return(false);
|
|
}
|
|
|
|
virtual bool operator ==(const VersionComparison4 &vc4)
|
|
{
|
|
return((dwMajorVersion == vc4.dwMajorVersion) && (dwMiddleVersion == vc4.dwMiddleVersion) &&
|
|
(dwMinorVersion == vc4.dwMinorVersion) && (dwBuildNumber == vc4.dwBuildNumber));
|
|
}
|
|
|
|
private:
|
|
DWORD dwMajorVersion;
|
|
DWORD dwMiddleVersion;
|
|
DWORD dwMinorVersion;
|
|
DWORD dwBuildNumber;
|
|
};
|
|
|
|
#endif // !defined (_IMKRINST_H__INCLUDED_)
|