239 lines
9.4 KiB
C
239 lines
9.4 KiB
C
/******************************************************************************
|
|
|
|
Copyright (c) 1999 Microsoft Corporation
|
|
|
|
Module Name:
|
|
stdafx.h
|
|
|
|
Abstract:
|
|
Include file for standard system include files,
|
|
or project specific include files that are used frequently,
|
|
but are changed infrequently
|
|
|
|
Revision History:
|
|
Ghim-Sim Chua (gschua) 07/07/99
|
|
created
|
|
|
|
******************************************************************************/
|
|
|
|
#if !defined(AFX_STDAFX_H__9C155541_7DB5_11D3_A14F_00C04F45E825__INCLUDED_)
|
|
#define AFX_STDAFX_H__9C155541_7DB5_11D3_A14F_00C04F45E825__INCLUDED_
|
|
|
|
#include <module.h>
|
|
|
|
#include <windows.h>
|
|
#include <winbase.h>
|
|
|
|
#include <conio.h>
|
|
#include <fstream.h>
|
|
#include <io.h>
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <sys/stat.h>
|
|
#include <sys/types.h>
|
|
|
|
// Trace Stuff
|
|
#include <HCP_trace.h>
|
|
#include <MPC_main.h>
|
|
#include <MPC_utils.h> // Several utility things, also includes Mpc_common.
|
|
#include <MPC_xml.h>
|
|
#include <MPC_com.h>
|
|
#include <MPC_streams.h>
|
|
|
|
#include <SvcResource.h>
|
|
|
|
#include <locres.h>
|
|
#include <HCAppRes.h>
|
|
#include <ProjectConstants.h>
|
|
|
|
//
|
|
// From HelpServiceTypeLib.idl
|
|
//
|
|
#include <HelpServiceTypeLib.h>
|
|
|
|
#include <MergedHHK.h>
|
|
#include <ContentStoreMgr.h>
|
|
|
|
#include <SAFLib.h>
|
|
|
|
#include <NewsLib.h>
|
|
|
|
#include <seconfig.h>
|
|
#include <SearchEngineLib.h>
|
|
|
|
#include <Service.h>
|
|
#include <Utility.h>
|
|
#include <SvcUtils.h>
|
|
|
|
#include <PCHUpdate.h>
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//
|
|
// Define macros
|
|
//
|
|
|
|
#define PCH_MACRO_CHECK_STRINGW(hr, szString, uErrorMsg) \
|
|
if(szString == NULL || wcslen(szString) == 0) \
|
|
{ \
|
|
HCUpdate::Engine::WriteLog( hr = HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), uErrorMsg ); \
|
|
__MPC_FUNC_LEAVE; \
|
|
}
|
|
|
|
#define PCH_MACRO_CHECK_STRINGA(hr, szString, uErrorMsg) \
|
|
if(szString == NULL || strlen(szString) == 0) \
|
|
{ \
|
|
HCUpdate::Engine::WriteLog( hr = HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), uErrorMsg ); \
|
|
__MPC_FUNC_LEAVE; \
|
|
}
|
|
|
|
#define PCH_MACRO_CHECK_STRING(hr, szString, uErrorMsg) \
|
|
if(szString.size() == 0) \
|
|
{ \
|
|
HCUpdate::Engine::WriteLog( hr = HRESULT_FROM_WIN32(ERROR_INVALID_PARAMETER), uErrorMsg ); \
|
|
__MPC_FUNC_LEAVE; \
|
|
}
|
|
|
|
#if DEBUG
|
|
#define PCH_MACRO_DEBUG( str ) WriteLog( S_OK, str )
|
|
#define PCH_MACRO_DEBUG2( str, arg ) WriteLog( S_OK, str, arg )
|
|
#else
|
|
#define PCH_MACRO_DEBUG( str )
|
|
#define PCH_MACRO_DEBUG2( str, arg )
|
|
#endif
|
|
|
|
#define PCH_MACRO_CHECK_ABORT(hr) if(IsAborted()) __MPC_SET_ERROR_AND_EXIT(hr, E_ABORT)
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#define PCH_SAFETYMARGIN (20*1024*1024)
|
|
|
|
#define PCH_STR_TRUE L"true"
|
|
#define PCH_STR_FALSE L"false"
|
|
|
|
#define PCH_MSFT_DN HC_MICROSOFT_DN
|
|
|
|
#define PCH_STR_VENDOR_PATH HC_ROOT_HELPSVC_VENDORS
|
|
#define PCH_STR_SYS_PATH HC_ROOT_HELPSVC_SYSTEM
|
|
#define PCH_STR_VENDOR_URL L"hcp://%s/%s"
|
|
|
|
#define PCH_STR_SCOPE_DEFAULT L"<SYSTEM>"
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#define PCH_TAG_ACTION L"ACTION"
|
|
#define PCH_TAG_FILE L"FILE"
|
|
#define PCH_TAG_SOURCE L"SOURCE"
|
|
#define PCH_TAG_URI L"URI"
|
|
#define PCH_TAG_SYS L"SYS"
|
|
#define PCH_TAG_SYSHELP L"SYSHELP"
|
|
|
|
#define PCH_XQL_SAF L"./CONFIG/SAF"
|
|
#define PCH_XQL_INSTALLFILE L"./INSTALL_CONTENT/FILE"
|
|
#define PCH_XQL_TRUSTED L"./TRUSTED_CONTENT/TRUSTED"
|
|
#define PCH_XQL_HHT L"./METADATA/HHT"
|
|
|
|
#define PCH_XQL_SE L"./SEARCHENGINES/WRAPPER"
|
|
#define PCH_TAG_SE_ID L"ID"
|
|
#define PCH_TAG_SE_CLSID L"CLSID"
|
|
#define PCH_TAG_SE_DATA L"DATA"
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#define PCH_XQL_OEM L"./NODEOWNERS/OWNER"
|
|
#define PCH_TAG_OEM_DN L"DN"
|
|
|
|
#define PCH_XQL_SCOPES L"./SCOPE_DEFINITION/SCOPE"
|
|
#define PCH_TAG_SCOPE_ID L"ID"
|
|
#define PCH_TAG_SCOPE_NAME L"DISPLAYNAME"
|
|
#define PCH_TAG_SCOPE_CATEGORY L"CATEGORY"
|
|
|
|
#define PCH_XQL_FTS L"./FTS/HELPFILE"
|
|
#define PCH_XQL_INDEX L"./INDEX/HELPFILE"
|
|
#define PCH_XQL_HELPIMAGE L"./HELPIMAGE/HELPFILE"
|
|
#define PCH_TAG_HELPFILE_CHM L"CHM"
|
|
#define PCH_TAG_HELPFILE_CHQ L"CHQ"
|
|
#define PCH_TAG_HELPFILE_HHK L"HHK"
|
|
#define PCH_TAG_HELPFILE_SCOPE L"SCOPE"
|
|
#define PCH_TAG_HELPFILE_OTHER L"OTHER"
|
|
|
|
#define PCH_XQL_STOPSIGN L"./STOPSIGN_ENTRIES/STOPSIGN"
|
|
#define PCH_TAG_STOPSIGN_CONTEXT L"CONTEXT"
|
|
#define PCH_TAG_STOPSIGN_STOPSIGN L"STOPSIGN"
|
|
|
|
#define PCH_XQL_STOPWORD L"./STOPWORD_ENTRIES/STOPWORD"
|
|
#define PCH_TAG_STOPWORD_STOPWORD L"STOPWORD"
|
|
|
|
#define PCH_XQL_OPERATOR L"./OPERATOR_ENTRIES/OPERATOR"
|
|
#define PCH_TAG_OPERATOR_OPERATION L"OPERATION"
|
|
#define PCH_TAG_OPERATOR_OPERATOR L"OPERATOR"
|
|
|
|
#define PCH_XQL_SYNSET L"./SYNTABLE/SYNSET"
|
|
#define PCH_TAG_SYNSET_ID L"ID"
|
|
#define PCH_XQL_SYNONYM L"./SYNONYM"
|
|
|
|
#define PCH_XQL_TAXONOMY L"./TAXONOMY_ENTRIES/TAXONOMY_ENTRY"
|
|
#define PCH_TAG_TAXONOMY_CATEGORY L"CATEGORY"
|
|
#define PCH_TAG_TAXONOMY_ENTRY L"ENTRY"
|
|
#define PCH_TAG_TAXONOMY_URI L"URI"
|
|
#define PCH_TAG_TAXONOMY_ICONURI L"ICONURI"
|
|
#define PCH_TAG_TAXONOMY_TITLE L"TITLE"
|
|
#define PCH_TAG_TAXONOMY_DESCRIPTION L"DESCRIPTION"
|
|
#define PCH_TAG_TAXONOMY_TYPE L"TYPE"
|
|
#define PCH_TAG_TAXONOMY_VISIBLE L"VISIBLE"
|
|
#define PCH_TAG_TAXONOMY_SUBSITE L"SUBSITE"
|
|
#define PCH_TAG_TAXONOMY_NAVMODEL L"NAVIGATIONMODEL"
|
|
#define PCH_TAG_TAXONOMY_INSERTMODE L"INSERTMODE"
|
|
#define PCH_TAG_TAXONOMY_INSERTLOCATION L"INSERTLOCATION"
|
|
|
|
#define PCH_XQL_TOPIC_KEYWORDS L"./KEYWORD"
|
|
#define PCH_TAG_KEYWORD_PRIORITY L"PRIORITY"
|
|
#define PCH_TAG_KEYWORD_HHK L"HHK"
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#define PCH_XQL_NEWSROOT L"./UPDATEHEADLINES/HEADLINE"
|
|
|
|
#define PCH_TAG_NEWS_ICON L"ICON"
|
|
#define PCH_TAG_NEWS_TITLE L"TITLE"
|
|
#define PCH_TAG_NEWS_LINK L"LINK"
|
|
#define PCH_TAG_NEWS_DESCRIPTION L"DESCRIPTION"
|
|
#define PCH_TAG_NEWS_TIMEOUT L"TIMEOUT"
|
|
#define PCH_TAG_NEWS_EXPIRYDATE L"EXPIRYDATE"
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#define HCUPDATE_GETATTRIBUTE(hr,xml,name,var,fFound,node) \
|
|
if(FAILED(hr = xml.GetAttribute( NULL, name, var, fFound, node )) || fFound == false) \
|
|
{ \
|
|
if(fFound == false) hr = E_INVALIDARG; \
|
|
WriteLog( hr, L"Error getting attribute '%s'", name ); __MPC_FUNC_LEAVE; \
|
|
}
|
|
|
|
#define HCUPDATE_GETATTRIBUTE_OPT(hr,xml,name,var,fFound,node) \
|
|
if(FAILED(hr = xml.GetAttribute( NULL, name, var, fFound, node ))) \
|
|
{ \
|
|
PCH_MACRO_DEBUG2( L"Error getting attribute '%s'", name ); \
|
|
}
|
|
|
|
#define HCUPDATE_BEGIN_TRANSACTION(hr,trans) \
|
|
if(FAILED(hr = trans.Begin( m_sess ))) \
|
|
{ \
|
|
WriteLog(hr, L"Error beginning transaction" ); __MPC_FUNC_LEAVE; \
|
|
}
|
|
|
|
#define HCUPDATE_COMMIT_TRANSACTION(hr,trans) \
|
|
if(FAILED(hr = trans.Commit())) \
|
|
{ \
|
|
WriteLog(hr, L"Error committing transaction" ); __MPC_FUNC_LEAVE; \
|
|
}
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(AFX_STDAFX_H__9C155541_7DB5_11D3_A14F_00C04F45E825__INCLUDED)
|
|
|