fix: resolve TypeScript type-check errors
- Add cacheHitRate to ProxyMetricsService, handler, and router schema - Fix StatCard to support string values and purple accent - Fix duplicate tabs keys in i18n translations (EN/ZH/RU) - Add missing cacheStatus translations across all languages
This commit is contained in:
1 parent
0be7d7fea2
commit
fd1b2b8bc0
250 files changed
+49653
-60
No files matched your search
@@ -0,0 +1,130 @@
|
||||
#pragma once
|
||||
// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
|
||||
|
||||
|
||||
#include "wcautil.h"
|
||||
|
||||
// Enumerations
|
||||
typedef enum eWrapQueryAction
|
||||
{
|
||||
wqaTableBegin = 1,
|
||||
wqaTableFinish,
|
||||
wqaRowBegin,
|
||||
wqaRowFinish
|
||||
} eWrapQueryAction;
|
||||
|
||||
typedef enum eColumnDataType
|
||||
{
|
||||
cdtString = 1,
|
||||
cdtInt,
|
||||
cdtStream,
|
||||
cdtUnknown
|
||||
} eColumnDataType;
|
||||
|
||||
typedef enum eFormatMaskColumn
|
||||
{
|
||||
efmcColumn1 = 1,
|
||||
efmcColumn2 = 1 << 1,
|
||||
efmcColumn3 = 1 << 2,
|
||||
efmcColumn4 = 1 << 3,
|
||||
efmcColumn5 = 1 << 4,
|
||||
efmcColumn6 = 1 << 5,
|
||||
efmcColumn7 = 1 << 6,
|
||||
efmcColumn8 = 1 << 7,
|
||||
efmcColumn9 = 1 << 8,
|
||||
efmcColumn10 = 1 << 9,
|
||||
efmcColumn11 = 1 << 10,
|
||||
efmcColumn12 = 1 << 11,
|
||||
efmcColumn13 = 1 << 12,
|
||||
efmcColumn14 = 1 << 13,
|
||||
efmcColumn15 = 1 << 14,
|
||||
efmcColumn16 = 1 << 15,
|
||||
efmcColumn17 = 1 << 16,
|
||||
efmcColumn18 = 1 << 17,
|
||||
efmcColumn19 = 1 << 18,
|
||||
efmcColumn20 = 1 << 19,
|
||||
efmcColumn21 = 1 << 20,
|
||||
efmcColumn22 = 1 << 21,
|
||||
efmcColumn23 = 1 << 22,
|
||||
efmcColumn24 = 1 << 23,
|
||||
efmcColumn25 = 1 << 24,
|
||||
efmcColumn26 = 1 << 25,
|
||||
efmcColumn27 = 1 << 26,
|
||||
efmcColumn28 = 1 << 27,
|
||||
efmcColumn29 = 1 << 28,
|
||||
efmcColumn30 = 1 << 29,
|
||||
efmcColumn31 = 1 << 30,
|
||||
efmcColumn32 = 1 << 31,
|
||||
} eFormatMaskColumn;
|
||||
|
||||
// Keeps track of the query instance for the reading CA (deferred CA)
|
||||
typedef struct WCA_WRAPQUERY_STRUCT
|
||||
{
|
||||
// These are used to size our dynamic arrays below
|
||||
DWORD dwColumns, dwRows, dwNextIndex;
|
||||
|
||||
// Dynamic arrays of column schema information
|
||||
eColumnDataType *pcdtColumnType;
|
||||
LPWSTR *ppwzColumnNames;
|
||||
|
||||
// Dynamic array of raw record data
|
||||
MSIHANDLE *phRecords;
|
||||
} *WCA_WRAPQUERY_HANDLE;
|
||||
|
||||
// Wrap a query
|
||||
// Setting the pfFormatMask enables control over which fields will be formatted, and which will be left unchanged
|
||||
// Setting dwComponentColumn to something other than 0xFFFFFFFF tells WcaWrapQuery to add two additional columns to the right side of the table
|
||||
// - ISInstalled and ISAction - which map to the ComponentState of the component (the component is found in the column specified)
|
||||
// Note that if a component is NULL, the component state columns will also be left null, and it will be up to the deferred CA to fail or ignore the case appropriately
|
||||
// Setting dwDirectoryColumn to something other than 0xFFFFFFFF tells WcaWrapQuery to add two more additional columns to the right side of the table
|
||||
// - SourcePath and TargetPath - which map to the Directory's Source and Target Path (the directory is found in the column specified)
|
||||
// Note that if a directory is NULL, the directory source/target path columns will also be left null, and it will be up to the deferred CA to fail or ignore the case appropriately
|
||||
HRESULT WIXAPI WcaWrapQuery(
|
||||
__in_z LPCWSTR pwzQuery,
|
||||
__inout LPWSTR * ppwzCustomActionData,
|
||||
__in_opt DWORD dwFormatMask,
|
||||
__in_opt DWORD dwComponentColumn,
|
||||
__in_opt DWORD dwDirectoryColumn
|
||||
);
|
||||
// This wraps an empty table query into the custom action data - this is a way to indicate to the deferred custom action that a necessary table doesn't exist, or its query returned no results
|
||||
HRESULT WIXAPI WcaWrapEmptyQuery(
|
||||
__inout LPWSTR * ppwzCustomActionData
|
||||
);
|
||||
|
||||
// Open a new unwrap query operation, with data from the ppwzCustomActionData string
|
||||
HRESULT WIXAPI WcaBeginUnwrapQuery(
|
||||
__out WCA_WRAPQUERY_HANDLE * phWrapQuery,
|
||||
__inout LPWSTR * ppwzCustomActionData
|
||||
);
|
||||
|
||||
// Get the number of records in a query being unwrapped
|
||||
DWORD WIXAPI WcaGetQueryRecords(
|
||||
__in const WCA_WRAPQUERY_HANDLE hWrapQuery
|
||||
);
|
||||
|
||||
// This function resets a query back to its first row, so that the next fetch returns the first record
|
||||
void WIXAPI WcaFetchWrappedReset(
|
||||
__in WCA_WRAPQUERY_HANDLE hWrapQuery
|
||||
);
|
||||
// Fetch the next record in this query
|
||||
// NOTE: the MSIHANDLE returned by this function should not be released, as it is the same handle used by the query object to maintain the item.
|
||||
// so, don't use this function with PMSIHANDLE objects!
|
||||
HRESULT WIXAPI WcaFetchWrappedRecord(
|
||||
__in WCA_WRAPQUERY_HANDLE hWrapQuery,
|
||||
__out MSIHANDLE* phRec
|
||||
);
|
||||
|
||||
// Fetch the next record in the query where the string value in column dwComparisonColumn equals the value pwzExpectedValue
|
||||
// NOTE: the MSIHANDLE returned by this function should not be released, as it is the same handle used by the query object to maintain the item.
|
||||
// so, don't use this function with PMSIHANDLE objects!
|
||||
HRESULT WIXAPI WcaFetchWrappedRecordWhereString(
|
||||
__in WCA_WRAPQUERY_HANDLE hWrapQuery,
|
||||
__in DWORD dwComparisonColumn,
|
||||
__in_z LPCWSTR pwzExpectedValue,
|
||||
__out MSIHANDLE* phRec
|
||||
);
|
||||
|
||||
// Release a query ID (frees memory, and frees the ID for a new query)
|
||||
void WIXAPI WcaFinishUnwrapQuery(
|
||||
__in_opt WCA_WRAPQUERY_HANDLE hWrapQuery
|
||||
);
|
||||
Reference in new issue
Block a user