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.
46 lines
1.3 KiB
46 lines
1.3 KiB
5 years ago
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
// Purpose: header for Web API key
|
||
|
//
|
||
|
//=============================================================================
|
||
|
|
||
|
#ifndef GCWEBAPIKEY_H
|
||
|
#define GCWEBAPIKEY_H
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
using GCSDK::CGCMsgBase;
|
||
|
using GCSDK::WebAPIKey_t;
|
||
|
using GCSDK::EWebAPIKeyStatus;
|
||
|
|
||
|
class CMsgWebAPIKey;
|
||
|
|
||
|
class CWebAPIKey
|
||
|
{
|
||
|
public:
|
||
|
CWebAPIKey() { Clear(); }
|
||
|
|
||
|
void Clear();
|
||
|
bool BIsValid() const { return (m_unAccountID != 0 || m_unPublisherGroupID != 0) && m_eStatus == GCSDK::k_EWebAPIKeyValid; }
|
||
|
bool BIsAccountKey() const { return m_unAccountID != 0; }
|
||
|
bool BIsPublisherKey() const { return m_unPublisherGroupID != 0; }
|
||
|
uint32 GetAccountID() const { return m_unAccountID; }
|
||
|
uint32 GetPublisherGroupID() const { return m_unPublisherGroupID; }
|
||
|
uint32 GetID() const { return m_unWebAPIKeyID; }
|
||
|
const char *GetDomain() const { return m_sDomain; }
|
||
|
EWebAPIKeyStatus GetStatus() const { return m_eStatus; }
|
||
|
|
||
|
void SerializeIntoProtoBuf( CMsgWebAPIKey & apiKey ) const;
|
||
|
void DeserializeFromProtoBuf( const CMsgWebAPIKey & apiKey );
|
||
|
|
||
|
private:
|
||
|
EWebAPIKeyStatus m_eStatus;
|
||
|
uint32 m_unAccountID; // set if key is for an account, 0 otherwise
|
||
|
uint32 m_unPublisherGroupID; // set if key is for a publisher, 0 otherwise
|
||
|
uint32 m_unWebAPIKeyID;
|
||
|
CUtlString m_sDomain;
|
||
|
};
|
||
|
|
||
|
#endif // GCWEBAPIKEY_H
|