/* This file is part of SourcePawn SteamWorks. SourcePawn SteamWorks is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, as per version 3 of the License. SourcePawn SteamWorks is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with SourcePawn SteamWorks. If not, see . Author: Kyle Sanderson (KyleS). */ #pragma once #include "isteamgameserver.h" #include "steam_gameserver.h" #include "smsdk_ext.h" class SteamWorksHTTPRequest { public: SteamWorksHTTPRequest(); ~SteamWorksHTTPRequest(); public: HTTPRequestHandle request; Handle_t handle; public: /* Completion is a genuine call result of the send API call, so it stays a CCallResult. Headers/data arrive as broadcast callbacks and are routed here by SteamWorksHTTP's dispatcher, hence no per-request CCallResult for them. */ void OnHTTPRequestCompleted(HTTPRequestCompleted_t *pRequest, bool bFailed); void OnHTTPHeadersReceived(HTTPRequestHeadersReceived_t *pRequest); void OnHTTPDataReceived(HTTPRequestDataReceived_t *pRequest); public: CCallResult CompletedCallResult; public: IChangeableForward *pCompletedForward; IChangeableForward *pHeadersReceivedForward; IChangeableForward *pDataReceivedForward; }; class SteamWorksHTTPNatives { public: SteamWorksHTTPNatives(); ~SteamWorksHTTPNatives(); }; #include "extension.h"