xpmgr/BuildTools/Include/httpcach.h

120 lines
1.6 KiB
C++

#ifndef _HTTPCACH_H_
#define _HTTPCACH_H_
//
// Key and data for uri-cache
//
#define URI_CACHE_NAME L"URI"
class __declspec(uuid("f1bc4f8c-6bf8-42c0-b745-4fbe1a67e5a7"))
IUriKey : public IHttpCacheKey
{
public:
PCWSTR
GetCacheName(
VOID
) const
{
return URI_CACHE_NAME;
}
virtual
PCWSTR
GetUrl(
VOID
) const = 0;
virtual
PCWSTR
GetSiteName(
VOID
) const = 0;
virtual
DWORD
GetSiteId(
VOID
) const = 0;
virtual
VOID
UpdateFrequentlyHitTickCount(
DWORD dwTicks
) = 0;
virtual
PCWSTR
GetConfigPath(
VOID
) const = 0;
};
//
// Key and data for file-cache
//
#define FILE_CACHE_NAME L"FILE"
class __declspec(uuid("7377f6a4-266c-4043-b62a-9ea955a5e97a"))
IFileKey : public IHttpCacheKey
{
public:
PCWSTR
GetCacheName(
VOID
) const
{
return FILE_CACHE_NAME;
}
virtual
PCWSTR
GetPath(
VOID
) const = 0;
};
//
// Key and data for token-cache
//
#define TOKEN_CACHE_NAME L"TOKEN"
class __declspec(uuid("1d3dc8cb-fc52-42bc-97e1-1bf02136e8ba"))
IHttpTokenKey : public IHttpCacheKey
{
public:
PCWSTR
GetCacheName(
VOID
) const
{
return TOKEN_CACHE_NAME;
}
virtual
PCWSTR
GetUserName(
VOID
) const = 0;
virtual
PCWSTR
GetPasswordHash(
VOID
) const = 0;
//
// Return the LOGON32_LOGON_* method used when logging on the user
//
virtual
DWORD
GetLogonMethod(
VOID
) const = 0;
};
#endif