├── site ├── markdown │ ├── faq.md │ └── examples │ │ ├── webapi_csgo_example.md │ │ └── source_log_example.md └── resources │ └── images │ ├── intellij-icon.png │ ├── agql-banner-left.png │ ├── agql-main-banner.png │ ├── agql-banner-right.png │ ├── rcon-console-500k.png │ ├── agql-rcon-console-01.png │ ├── agql-rcon-console-02.png │ ├── agql-banner-left-simple.png │ └── agql-project-banner-big.png ├── .gitattributes ├── docs ├── profile-jdk16-epoll-500k-g1.jps ├── profile-jdk17-epoll-500k-g1.jps └── profile-jdk8-nio-500k-parallelgc.jps ├── .gitignore ├── protocols ├── valve │ ├── steam │ │ ├── webapi │ │ │ └── src │ │ │ │ └── main │ │ │ │ └── java │ │ │ │ └── com │ │ │ │ └── ibasco │ │ │ │ └── agql │ │ │ │ └── protocols │ │ │ │ └── valve │ │ │ │ └── steam │ │ │ │ └── webapi │ │ │ │ ├── interfaces │ │ │ │ ├── communityservice │ │ │ │ │ └── GetApps.java │ │ │ │ ├── gameservers │ │ │ │ │ ├── GetAccountList.java │ │ │ │ │ ├── QueryLoginToken.java │ │ │ │ │ ├── GetAccountPublicInfo.java │ │ │ │ │ ├── GetServerList.java │ │ │ │ │ ├── DeleteAccount.java │ │ │ │ │ ├── ResetLoginToken.java │ │ │ │ │ ├── SetMemo.java │ │ │ │ │ └── CreateAccount.java │ │ │ │ ├── steamwebapiutil │ │ │ │ │ ├── GetServerInfo.java │ │ │ │ │ ├── GetSupportedAPIList.java │ │ │ │ │ ├── requests │ │ │ │ │ │ └── SteamWebApiUtilRequest.java │ │ │ │ │ └── pojos │ │ │ │ │ │ ├── ApiInterface.java │ │ │ │ │ │ └── ServerInfo.java │ │ │ │ ├── apps │ │ │ │ │ ├── GetAppList.java │ │ │ │ │ ├── GetServersAtAddress.java │ │ │ │ │ └── UpToDateCheck.java │ │ │ │ ├── steamstore │ │ │ │ │ ├── GetMostPopularTags.java │ │ │ │ │ ├── requests │ │ │ │ │ │ └── SteamStoreServiceRequest.java │ │ │ │ │ ├── pojos │ │ │ │ │ │ └── PopularTag.java │ │ │ │ │ └── GetLocalizedNameForTags.java │ │ │ │ ├── player │ │ │ │ │ ├── GetBadges.java │ │ │ │ │ ├── GetSteamLevel.java │ │ │ │ │ ├── GetRecentlyPlayedGames.java │ │ │ │ │ ├── GetSteamGameLenderId.java │ │ │ │ │ └── GetCommunityBadgeProgress.java │ │ │ │ ├── user │ │ │ │ │ ├── GetUserGroupList.java │ │ │ │ │ └── GetFriendList.java │ │ │ │ ├── econitems │ │ │ │ │ ├── GetSchema.java │ │ │ │ │ ├── GetSchemaUrl.java │ │ │ │ │ ├── GetStoreStatus.java │ │ │ │ │ ├── GetStoreMetadata.java │ │ │ │ │ └── GetPlayerItems.java │ │ │ │ ├── userstats │ │ │ │ │ ├── GetSchemaForGame.java │ │ │ │ │ ├── GetGlobalAchievementPercentagesForApp.java │ │ │ │ │ └── GetNumberOfCurrentPlayers.java │ │ │ │ └── storefront │ │ │ │ │ └── GetFeaturedGames.java │ │ │ │ ├── requests │ │ │ │ ├── SteamCommunityServiceRequest.java │ │ │ │ ├── GameServersRequest.java │ │ │ │ ├── SteamAppsRequest.java │ │ │ │ ├── SteamNewsRequest.java │ │ │ │ ├── SteamUserRequest.java │ │ │ │ ├── SteamEconomyRequest.java │ │ │ │ ├── SteamReportCheatRequest.java │ │ │ │ ├── SteamUserStatsRequest.java │ │ │ │ └── SteamPlayerServiceRequest.java │ │ │ │ ├── enums │ │ │ │ └── VanityUrlType.java │ │ │ │ ├── SteamWebApiResponse.java │ │ │ │ └── pojos │ │ │ │ ├── StoreAppRecommendations.java │ │ │ │ └── SteamResponse.java │ │ └── master │ │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── ibasco │ │ │ └── agql │ │ │ └── protocols │ │ │ └── valve │ │ │ └── steam │ │ │ └── master │ │ │ ├── enums │ │ │ └── MasterServerType.java │ │ │ └── message │ │ │ └── MasterServerResponse.java │ ├── csgo │ │ └── webapi │ │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── ibasco │ │ │ └── agql │ │ │ └── protocols │ │ │ └── valve │ │ │ └── csgo │ │ │ └── webapi │ │ │ ├── interfaces │ │ │ ├── CsgoTournaments.java │ │ │ ├── tournaments │ │ │ │ ├── GetTournamentItems.java │ │ │ │ ├── GetTournamentLayout.java │ │ │ │ ├── GetTournamentPredictions.java │ │ │ │ ├── GetTournamentFantasyLineup.java │ │ │ │ ├── UploadTournamentPredictions.java │ │ │ │ └── UploadTournamentFantasyLineup.java │ │ │ ├── servers │ │ │ │ ├── GetGameMapsPlaytime.java │ │ │ │ └── GetGameServersStatus.java │ │ │ └── CsgoServersRequest.java │ │ │ ├── CsgoWebApiResponse.java │ │ │ ├── CsgoApiConstants.java │ │ │ ├── CsgoWebApiRequest.java │ │ │ └── pojos │ │ │ └── CsgoGameMapPlaytimeInfo.java │ ├── dota2 │ │ └── webapi │ │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── ibasco │ │ │ └── agql │ │ │ └── protocols │ │ │ └── valve │ │ │ └── dota2 │ │ │ └── webapi │ │ │ ├── interfaces │ │ │ ├── fantasy │ │ │ │ ├── GetFantasyPlayerStats.java │ │ │ │ ├── GetProPlayerList.java │ │ │ │ └── GetPlayerOfficialInfo.java │ │ │ ├── match │ │ │ │ ├── GetScheduledLeagueGames.java │ │ │ │ ├── GetTopWeekendTourneyGames.java │ │ │ │ ├── GetLeagueListing.java │ │ │ │ ├── GetTopLiveGame.java │ │ │ │ └── GetMatchDetails.java │ │ │ ├── econ │ │ │ │ ├── GetRarities.java │ │ │ │ ├── GetGameItems.java │ │ │ │ ├── GetTournamentPrizePool.java │ │ │ │ └── GetHeroes.java │ │ │ ├── stats │ │ │ │ └── GetRealtimeStats.java │ │ │ └── teams │ │ │ │ └── GetTeamInfo.java │ │ │ ├── enums │ │ │ ├── Dota2IconType.java │ │ │ └── Dota2TeamType.java │ │ │ ├── Dota2WebApiResponse.java │ │ │ └── requests │ │ │ ├── Dota2FantasyRequest.java │ │ │ ├── Dota2EconRequest.java │ │ │ ├── Dota2MatchRequest.java │ │ │ ├── Dota2TeamsRequest.java │ │ │ ├── Dota2StatsRequest.java │ │ │ └── Dota2StreamRequest.java │ └── source │ │ ├── query │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── ibasco │ │ │ └── agql │ │ │ └── protocols │ │ │ └── valve │ │ │ └── source │ │ │ └── query │ │ │ ├── common │ │ │ ├── packets │ │ │ │ └── util │ │ │ │ │ └── SourceQueryPacketEncoderProvider.java │ │ │ ├── message │ │ │ │ ├── SourceQueryRequest.java │ │ │ │ └── SourceQueryResponse.java │ │ │ └── enums │ │ │ │ └── SourceChallengeType.java │ │ │ ├── rules │ │ │ ├── SourceQueryRulesEncoder.java │ │ │ └── SourceQueryRulesRequest.java │ │ │ ├── players │ │ │ ├── SourceQueryPlayersEncoder.java │ │ │ ├── SourceQueryPlayerResponse.java │ │ │ └── SourceQueryPlayerRequest.java │ │ │ └── info │ │ │ └── SourceQueryInfoResponse.java │ │ └── rcon │ │ └── src │ │ └── main │ │ └── java │ │ └── com │ │ └── ibasco │ │ └── agql │ │ └── protocols │ │ └── valve │ │ └── source │ │ └── query │ │ └── rcon │ │ ├── RconAuthenticator.java │ │ └── enums │ │ └── SourceRconAuthReason.java └── supercell │ └── clashofclans │ └── webapi │ └── src │ └── main │ └── java │ └── com │ └── ibasco │ └── agql │ └── protocols │ └── supercell │ └── coc │ └── webapi │ ├── CocWebApiResponse.java │ ├── CocTypes.java │ ├── interfaces │ ├── leagues │ │ └── GetLeagueInfo.java │ └── clans │ │ └── GetClanInfo.java │ └── enums │ └── CocWarFrequency.java ├── .github ├── dependabot.yml └── workflows │ └── site.yml ├── .run ├── Source Rcon.run.xml ├── Source Log Listener.run.xml └── Source Server Queries.run.xml ├── core └── src │ └── main │ ├── resources │ └── META-INF │ │ └── native-image │ │ └── com.ibasco.agql │ │ └── async-gamequery-lib │ │ └── reflect-config.json │ └── java │ └── com │ └── ibasco │ └── agql │ └── core │ ├── AbstractRequest.java │ ├── Packet.java │ ├── transport │ ├── enums │ │ ├── ChannelEvent.java │ │ └── TransportType.java │ ├── http │ │ ├── processors │ │ │ ├── XmlContentTypeProcessor.java │ │ │ └── JsonContentTypeProcessor.java │ │ └── ContentTypeProcessor.java │ ├── pool │ │ └── NettyPoolPropertyResolver.java │ ├── NettyChannelAttributes.java │ └── NettyChannelContextFactory.java │ ├── Message.java │ ├── OptionSupplier.java │ ├── util │ ├── Bits.java │ ├── Shared.java │ ├── Inherit.java │ ├── Compression.java │ ├── MessengerProperties.java │ ├── HttpOptions.java │ └── ImmutablePair.java │ ├── enums │ └── BufferAllocatorType.java │ ├── AbstractPacket.java │ ├── Client.java │ ├── PacketDecoder.java │ ├── Transport.java │ ├── exceptions │ ├── TransportException.java │ ├── InvalidPacketException.java │ ├── WriteInProgressException.java │ └── DecodeException.java │ └── AbstractPacketEncoder.java ├── run-example.cmd └── examples └── src └── main └── java └── com └── ibasco └── agql └── examples ├── base └── BaseWebApiAuthExample.java └── rcon ├── CommandResponse.java └── SMCommand.java /site/markdown/faq.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | *.enc binary -------------------------------------------------------------------------------- /docs/profile-jdk16-epoll-500k-g1.jps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ribasco/async-gamequery-lib/HEAD/docs/profile-jdk16-epoll-500k-g1.jps -------------------------------------------------------------------------------- /docs/profile-jdk17-epoll-500k-g1.jps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ribasco/async-gamequery-lib/HEAD/docs/profile-jdk17-epoll-500k-g1.jps -------------------------------------------------------------------------------- /site/resources/images/intellij-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ribasco/async-gamequery-lib/HEAD/site/resources/images/intellij-icon.png -------------------------------------------------------------------------------- /docs/profile-jdk8-nio-500k-parallelgc.jps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ribasco/async-gamequery-lib/HEAD/docs/profile-jdk8-nio-500k-parallelgc.jps -------------------------------------------------------------------------------- /site/resources/images/agql-banner-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ribasco/async-gamequery-lib/HEAD/site/resources/images/agql-banner-left.png -------------------------------------------------------------------------------- /site/resources/images/agql-main-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ribasco/async-gamequery-lib/HEAD/site/resources/images/agql-main-banner.png -------------------------------------------------------------------------------- /site/resources/images/agql-banner-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ribasco/async-gamequery-lib/HEAD/site/resources/images/agql-banner-right.png -------------------------------------------------------------------------------- /site/resources/images/rcon-console-500k.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ribasco/async-gamequery-lib/HEAD/site/resources/images/rcon-console-500k.png -------------------------------------------------------------------------------- /site/resources/images/agql-rcon-console-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ribasco/async-gamequery-lib/HEAD/site/resources/images/agql-rcon-console-01.png -------------------------------------------------------------------------------- /site/resources/images/agql-rcon-console-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ribasco/async-gamequery-lib/HEAD/site/resources/images/agql-rcon-console-02.png -------------------------------------------------------------------------------- /site/resources/images/agql-banner-left-simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ribasco/async-gamequery-lib/HEAD/site/resources/images/agql-banner-left-simple.png -------------------------------------------------------------------------------- /site/resources/images/agql-project-banner-big.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ribasco/async-gamequery-lib/HEAD/site/resources/images/agql-project-banner-big.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | /.idea/ 3 | *.log 4 | /docs/*.~vsd 5 | logs/ 6 | out/ 7 | *.iml 8 | /examples/src/main/resources/auth.json 9 | example.properties 10 | /gh-pages/ 11 | .flattened-pom.xml 12 | /assembly/dependency-reduced-pom.xml 13 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/communityservice/GetApps.java: -------------------------------------------------------------------------------- 1 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.communityservice; 2 | 3 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamCommunityServiceRequest; 4 | import java.util.Collection; 5 | 6 | public class GetApps extends SteamCommunityServiceRequest { 7 | 8 | /** 9 | *

Constructor for SteamWebApiRequest.

10 | * 11 | * @param apiVersion 12 | * a int 13 | */ 14 | public GetApps(int apiVersion, Collection appIds) { 15 | super("GetApps", apiVersion); 16 | urlParam("appids", appIds); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | # To get started with Dependabot version updates, you'll need to specify which 2 | # package ecosystems to update and where the package manifests are located. 3 | # Please see the documentation for all configuration options: 4 | # https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates 5 | 6 | version: 2 7 | updates: 8 | - package-ecosystem: "maven" # See documentation for possible values 9 | directory: "/" # Location of package manifests 10 | schedule: 11 | interval: "daily" 12 | - package-ecosystem: "github-actions" 13 | # Workflow files stored in the 14 | # default location of `.github/workflows` 15 | directory: "/" 16 | schedule: 17 | interval: "daily" 18 | -------------------------------------------------------------------------------- /.run/Source Rcon.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 14 | -------------------------------------------------------------------------------- /.run/Source Log Listener.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 14 | -------------------------------------------------------------------------------- /.run/Source Server Queries.run.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 14 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/requests/SteamCommunityServiceRequest.java: -------------------------------------------------------------------------------- 1 | package com.ibasco.agql.protocols.valve.steam.webapi.requests; 2 | 3 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 4 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamWebApiRequest; 5 | 6 | public class SteamCommunityServiceRequest extends SteamWebApiRequest { 7 | 8 | /** 9 | *

Constructor for SteamWebApiRequest.

10 | * 11 | * @param apiMethod 12 | * a {@link String} object 13 | * @param apiVersion 14 | * a int 15 | */ 16 | public SteamCommunityServiceRequest(String apiMethod, int apiVersion) { 17 | super(SteamApiConstants.STEAM_COMMUNITY_SERVICE, apiMethod, apiVersion); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /core/src/main/resources/META-INF/native-image/com.ibasco.agql/async-gamequery-lib/reflect-config.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "com.ibasco.agql.core.util.ConnectOptions", 4 | "allPublicFields": true, 5 | "allPublicConstructors": true 6 | }, 7 | { 8 | "name": "com.ibasco.agql.core.util.FailsafeOptions", 9 | "allPublicFields": true, 10 | "allPublicConstructors": true 11 | }, 12 | { 13 | "name": "com.ibasco.agql.core.util.GeneralOptions", 14 | "allPublicFields": true, 15 | "allPublicConstructors": true 16 | }, 17 | { 18 | "name": "com.ibasco.agql.core.util.HttpOptions", 19 | "allPublicFields": true, 20 | "allPublicConstructors": true 21 | }, 22 | { 23 | "name": "com.ibasco.agql.protocols.valve.source.query.SourceQueryOptions", 24 | "allPublicFields": true, 25 | "allPublicConstructors": true 26 | } 27 | ] 28 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/AbstractRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core; 18 | 19 | /** 20 | *

Abstract AbstractRequest class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | abstract public class AbstractRequest extends AbstractMessage { 25 | 26 | } 27 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/Packet.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core; 18 | 19 | import io.netty.buffer.ByteBufHolder; 20 | 21 | /** 22 | *

Packet interface.

23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public interface Packet extends ByteBufHolder { 27 | } 28 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/transport/enums/ChannelEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.transport.enums; 18 | 19 | /** 20 | *

ChannelEvent class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public enum ChannelEvent { 25 | CREATED, 26 | ACQUIRED, 27 | RELEASED, 28 | CLOSED 29 | } 30 | -------------------------------------------------------------------------------- /protocols/valve/csgo/webapi/src/main/java/com/ibasco/agql/protocols/valve/csgo/webapi/interfaces/CsgoTournaments.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.csgo.webapi.interfaces; 18 | 19 | /** 20 | *

CsgoTournaments class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class CsgoTournaments { 25 | } 26 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/transport/enums/TransportType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.transport.enums; 18 | 19 | /** 20 | * Enumeration for the transport types supported by this library 21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public enum TransportType { 25 | TCP, 26 | UDP, 27 | UDP_CONNLESS 28 | } 29 | -------------------------------------------------------------------------------- /protocols/valve/csgo/webapi/src/main/java/com/ibasco/agql/protocols/valve/csgo/webapi/interfaces/tournaments/GetTournamentItems.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.csgo.webapi.interfaces.tournaments; 18 | 19 | /** 20 | *

GetTournamentItems class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class GetTournamentItems { 25 | } 26 | -------------------------------------------------------------------------------- /protocols/valve/csgo/webapi/src/main/java/com/ibasco/agql/protocols/valve/csgo/webapi/interfaces/tournaments/GetTournamentLayout.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.csgo.webapi.interfaces.tournaments; 18 | 19 | /** 20 | *

GetTournamentLayout class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class GetTournamentLayout { 25 | } 26 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/interfaces/fantasy/GetFantasyPlayerStats.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.fantasy; 18 | 19 | /** 20 | *

GetFantasyPlayerStats class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class GetFantasyPlayerStats { 25 | } 26 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/interfaces/match/GetScheduledLeagueGames.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.match; 18 | 19 | /** 20 | *

GetScheduledLeagueGames class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class GetScheduledLeagueGames { 25 | } 26 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/interfaces/match/GetTopWeekendTourneyGames.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.match; 18 | 19 | /** 20 | *

GetTopWeekendTourneyGames class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class GetTopWeekendTourneyGames { 25 | } 26 | -------------------------------------------------------------------------------- /protocols/valve/csgo/webapi/src/main/java/com/ibasco/agql/protocols/valve/csgo/webapi/interfaces/tournaments/GetTournamentPredictions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.csgo.webapi.interfaces.tournaments; 18 | 19 | /** 20 | *

GetTournamentPredictions class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class GetTournamentPredictions { 25 | } 26 | -------------------------------------------------------------------------------- /protocols/valve/csgo/webapi/src/main/java/com/ibasco/agql/protocols/valve/csgo/webapi/interfaces/tournaments/GetTournamentFantasyLineup.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.csgo.webapi.interfaces.tournaments; 18 | 19 | /** 20 | *

GetTournamentFantasyLineup class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class GetTournamentFantasyLineup { 25 | } 26 | -------------------------------------------------------------------------------- /protocols/valve/csgo/webapi/src/main/java/com/ibasco/agql/protocols/valve/csgo/webapi/interfaces/tournaments/UploadTournamentPredictions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.csgo.webapi.interfaces.tournaments; 18 | 19 | /** 20 | *

UploadTournamentPredictions class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class UploadTournamentPredictions { 25 | } 26 | -------------------------------------------------------------------------------- /protocols/valve/csgo/webapi/src/main/java/com/ibasco/agql/protocols/valve/csgo/webapi/interfaces/tournaments/UploadTournamentFantasyLineup.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.csgo.webapi.interfaces.tournaments; 18 | 19 | /** 20 | *

UploadTournamentFantasyLineup class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class UploadTournamentFantasyLineup { 25 | } 26 | -------------------------------------------------------------------------------- /protocols/valve/source/query/src/main/java/com/ibasco/agql/protocols/valve/source/query/common/packets/util/SourceQueryPacketEncoderProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.source.query.common.packets.util; 18 | 19 | /** 20 | *

SourceQueryPacketEncoderProvider class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public final class SourceQueryPacketEncoderProvider { 25 | 26 | } 27 | -------------------------------------------------------------------------------- /.github/workflows/site.yml: -------------------------------------------------------------------------------- 1 | name: Site Builds 2 | 3 | on: 4 | release: 5 | types: [ published ] 6 | workflow_dispatch: 7 | inputs: 8 | version: 9 | description: 'Project Version' 10 | required: false 11 | default: '' 12 | 13 | 14 | jobs: 15 | build-project: 16 | name: 'Build and Deploy' 17 | runs-on: ubuntu-20.04 18 | strategy: 19 | matrix: 20 | java: [ '8' ] 21 | steps: 22 | - uses: actions/checkout@v4 23 | - name: Setup Java JDK 24 | uses: actions/setup-java@v3 25 | with: 26 | distribution: 'temurin' 27 | java-version: ${{ matrix.java }} 28 | check-latest: true 29 | cache: maven 30 | 31 | - name: Build Project Site 32 | run: mvn site site:stage -Dchangelist=$VERSION 33 | env: 34 | VERSION: ${{ github.event.inputs.version }} 35 | 36 | - name: Deploy Site 37 | uses: peaceiris/actions-gh-pages@v3 38 | with: 39 | github_token: ${{ secrets.GITHUB_TOKEN }} 40 | publish_dir: ./target/staging -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/Message.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core; 18 | 19 | import com.ibasco.agql.core.util.UUID; 20 | 21 | /** 22 | *

Message interface.

23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public interface Message { 27 | 28 | /** 29 | *

id.

30 | * 31 | * @return a {@link com.ibasco.agql.core.util.UUID} object 32 | */ 33 | UUID id(); 34 | } 35 | -------------------------------------------------------------------------------- /protocols/valve/source/query/src/main/java/com/ibasco/agql/protocols/valve/source/query/common/message/SourceQueryRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.source.query.common.message; 18 | 19 | import com.ibasco.agql.core.AbstractRequest; 20 | 21 | /** 22 | *

Abstract SourceQueryRequest class.

23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | abstract public class SourceQueryRequest extends AbstractRequest { 27 | 28 | } 29 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/OptionSupplier.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core; 18 | 19 | import com.ibasco.agql.core.util.Option; 20 | import java.util.function.Supplier; 21 | 22 | /** 23 | *

OptionSupplier interface.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public interface OptionSupplier extends Supplier> { 28 | 29 | /** {@inheritDoc} */ 30 | @Override 31 | default Option get() { 32 | return null; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/util/Bits.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.util; 18 | 19 | /** 20 | *

Bits class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class Bits { 25 | 26 | /** 27 | *

isSet.

28 | * 29 | * @param flags 30 | * a int 31 | * @param flag 32 | * a int 33 | * 34 | * @return a boolean 35 | */ 36 | public static boolean isSet(int flags, int flag) { 37 | return (flags & flag) == flag; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/util/Shared.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.util; 18 | 19 | import java.lang.annotation.Documented; 20 | import java.lang.annotation.ElementType; 21 | import java.lang.annotation.Retention; 22 | import java.lang.annotation.RetentionPolicy; 23 | import java.lang.annotation.Target; 24 | 25 | /** 26 | *

Shared class.

27 | * 28 | * @author Rafael Luis Ibasco 29 | */ 30 | @Documented 31 | @Retention(value = RetentionPolicy.RUNTIME) 32 | @Target(value = ElementType.TYPE) 33 | public @interface Shared { 34 | } 35 | -------------------------------------------------------------------------------- /run-example.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | 3 | if "%1"=="" goto usage 4 | 5 | echo Running example '%1' 6 | 7 | mvn -q -f examples/pom.xml exec:java -D"exec.args"="-e %1" 8 | 9 | goto done 10 | 11 | :usage 12 | echo Error: Missing Example Key. Please specify the example key. (e.g. source-query) 13 | echo 14 | echo ==================================================================== 15 | echo List of available examples 16 | echo ==================================================================== 17 | echo - Source Server Query Example (key: source-query) 18 | echo - Master Server Query Example (key: master-query) 19 | echo - Source Rcon Example (key: source-rcon) 20 | echo - Clash of Clans Web API Example (key: coc-webapi) 21 | echo - CS:GO Web API Example (key: csgo-webapi) 22 | echo - Steam Web API Example (key: steam-webapi) 23 | echo - Steam Storefront Web API Example (key: steam-store-webapi) 24 | echo - Source Log Listener Example (key: source-log) 25 | echo - Steam Econ Web API Example (key: steam-econ-webapi) 26 | echo - Minecraft Rcon Example (key: mc-rcon) 27 | echo - Dota2 Web API Example (key: dota2-webapi) 28 | :done -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/util/Inherit.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.util; 18 | 19 | import java.lang.annotation.Documented; 20 | import java.lang.annotation.ElementType; 21 | import java.lang.annotation.Retention; 22 | import java.lang.annotation.RetentionPolicy; 23 | import java.lang.annotation.Target; 24 | 25 | /** 26 | *

Inherit class.

27 | * 28 | * @author Rafael Luis Ibasco 29 | */ 30 | @Documented 31 | @Retention(value = RetentionPolicy.RUNTIME) 32 | @Target(value = ElementType.TYPE) 33 | public @interface Inherit { 34 | 35 | Class[] options(); 36 | } 37 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/gameservers/GetAccountList.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.gameservers; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.GameServersRequest; 20 | 21 | public class GetAccountList extends GameServersRequest { 22 | 23 | /** 24 | *

Constructor for SteamWebApiRequest.

25 | * 26 | * @param apiVersion 27 | * a int 28 | */ 29 | public GetAccountList(int apiVersion) { 30 | super("GetAccountList", apiVersion); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/enums/BufferAllocatorType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.enums; 18 | 19 | import io.netty.channel.AdaptiveRecvByteBufAllocator; 20 | import io.netty.channel.FixedRecvByteBufAllocator; 21 | import io.netty.channel.MaxMessagesRecvByteBufAllocator; 22 | 23 | /** 24 | * An enumeration identifying the type of allocator to use for Netty's receive buffers. 25 | * 26 | * @author Rafael Luis Ibasco 27 | * @see MaxMessagesRecvByteBufAllocator 28 | * @see FixedRecvByteBufAllocator 29 | * @see AdaptiveRecvByteBufAllocator 30 | */ 31 | public enum BufferAllocatorType { 32 | ADAPTIVE, 33 | FIXED 34 | } 35 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/util/Compression.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.util; 18 | 19 | import java.util.zip.CRC32; 20 | 21 | /** 22 | *

Compression class.

23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class Compression { 27 | 28 | /** 29 | *

getCrc32Checksum.

30 | * 31 | * @param data 32 | * an array of {@code byte} objects 33 | * 34 | * @return a long 35 | */ 36 | public static long getCrc32Checksum(byte[] data) { 37 | CRC32 crc32 = new CRC32(); 38 | crc32.update(data); 39 | return crc32.getValue(); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/util/MessengerProperties.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.util; 18 | 19 | import java.lang.annotation.Documented; 20 | import java.lang.annotation.ElementType; 21 | import java.lang.annotation.Retention; 22 | import java.lang.annotation.RetentionPolicy; 23 | import java.lang.annotation.Target; 24 | 25 | /** 26 | *

MessengerProperties class.

27 | * 28 | * @author Rafael Luis Ibasco 29 | */ 30 | @Documented 31 | @Retention(value = RetentionPolicy.RUNTIME) 32 | @Target(value = ElementType.TYPE) 33 | public @interface MessengerProperties { 34 | 35 | Class optionClass(); 36 | } 37 | -------------------------------------------------------------------------------- /site/markdown/examples/webapi_csgo_example.md: -------------------------------------------------------------------------------- 1 | # Counter Strike : Global Offensive Web API 2 | 3 | ### Available Interfaces 4 | 5 | | **Interface Name** | **Description** | 6 | |--------------------|-----------------------------| 7 | | CsgoServers | Game Server Status Info | 8 | 9 | **Get Game Server Status** 10 | 11 | ~~~java 12 | class CsgoExample { 13 | 14 | public static void main(String[] args) throws Exception { 15 | try (CsgoWebApiClient apiClient = new CsgoWebApiClient("auth-token-here")) { 16 | CsgoServers servers = new CsgoServers(apiClient); 17 | CsgoGameServerStatus status = servers.getGameServerStatus().get(); 18 | System.out.printf("Game Server Status : %s%n", status); 19 | } 20 | } 21 | } 22 | ~~~ 23 | 24 | **Get Map Playtime Info** 25 | 26 | ~~~java 27 | class CsgoExample { 28 | 29 | public static void main(String[] args) throws Exception { 30 | try (CsgoWebApiClient apiClient = new CsgoWebApiClient("auth-token-here")) { 31 | CsgoServers servers = new CsgoServers(apiClient); 32 | CsgoGameMapPlaytimeInfo playtimeInfo = servers.getMapPlaytimeInfo("day", "competitive", "operation").join(); 33 | System.out.printf("Playtime Info: %s%n", playtimeInfo); 34 | } 35 | } 36 | } 37 | ~~~ -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/transport/http/processors/XmlContentTypeProcessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.transport.http.processors; 18 | 19 | import com.ibasco.agql.core.exceptions.AgqlRuntimeException; 20 | import com.ibasco.agql.core.transport.http.ContentTypeProcessor; 21 | 22 | /** 23 | *

XmlContentTypeProcessor class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class XmlContentTypeProcessor extends ContentTypeProcessor { 28 | 29 | /** {@inheritDoc} */ 30 | @Override 31 | protected Object processContent(String body) { 32 | throw new AgqlRuntimeException("Not yet implemented"); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/transport/pool/NettyPoolPropertyResolver.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.transport.pool; 18 | 19 | import com.ibasco.agql.core.transport.NettyPropertyResolver; 20 | 21 | /** 22 | *

NettyPoolPropertyResolver interface.

23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public interface NettyPoolPropertyResolver extends NettyPropertyResolver { 27 | 28 | /** 29 | *

resolvePoolKey.

30 | * 31 | * @param data 32 | * a {@link java.lang.Object} object 33 | * 34 | * @return a {@link java.lang.Object} object 35 | */ 36 | Object resolvePoolKey(Object data); 37 | } 38 | -------------------------------------------------------------------------------- /examples/src/main/java/com/ibasco/agql/examples/base/BaseWebApiAuthExample.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.examples.base; 18 | 19 | /** 20 | *

Abstract BaseWebApiAuthExample class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | abstract public class BaseWebApiAuthExample extends BaseExample { 25 | 26 | /** 27 | *

getToken.

28 | * 29 | * @param key 30 | * a {@link java.lang.String} object 31 | * 32 | * @return a {@link java.lang.String} object 33 | */ 34 | protected String getToken(String key) { 35 | return promptInput("Please input your API Token: ", true, null, key); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/steamwebapiutil/GetServerInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.steamwebapiutil; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.interfaces.steamwebapiutil.requests.SteamWebApiUtilRequest; 20 | 21 | public class GetServerInfo extends SteamWebApiUtilRequest { 22 | 23 | /** 24 | *

Constructor for SteamWebApiRequest.

25 | * 26 | * @param apiVersion 27 | * a int 28 | */ 29 | public GetServerInfo(int apiVersion) { 30 | super("GetServerInfo", apiVersion); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/transport/NettyChannelAttributes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.transport; 18 | 19 | import com.ibasco.agql.core.NettyChannelContext; 20 | import io.netty.util.AttributeKey; 21 | import org.jetbrains.annotations.ApiStatus; 22 | 23 | /** 24 | * Channel attributes used internally by this library 25 | * 26 | * @author Rafael Luis Ibasco 27 | */ 28 | @ApiStatus.Internal 29 | public final class NettyChannelAttributes { 30 | 31 | /** 32 | * The attribute for the {@link NettyChannelContext} 33 | */ 34 | public static final AttributeKey CHANNEL_CONTEXT = AttributeKey.valueOf("channelContext"); 35 | } 36 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/transport/http/processors/JsonContentTypeProcessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.transport.http.processors; 18 | 19 | import com.google.gson.JsonElement; 20 | import com.google.gson.JsonParser; 21 | import com.ibasco.agql.core.transport.http.ContentTypeProcessor; 22 | 23 | /** 24 | *

JsonContentTypeProcessor class.

25 | * 26 | * @author Rafael Luis Ibasco 27 | */ 28 | public class JsonContentTypeProcessor extends ContentTypeProcessor { 29 | 30 | /** {@inheritDoc} */ 31 | @Override 32 | protected JsonElement processContent(String body) { 33 | return JsonParser.parseString(body); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/enums/Dota2IconType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.enums; 18 | 19 | /** 20 | *

Dota2IconType class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public enum Dota2IconType { 25 | NORMAL(0), 26 | LARGE(1), 27 | INGAME(2); 28 | 29 | private final int type; 30 | 31 | Dota2IconType(int type) { 32 | this.type = type; 33 | } 34 | 35 | /** 36 | *

Getter for the field type.

37 | * 38 | * @return a int 39 | */ 40 | public int getType() { 41 | return type; 42 | } 43 | } 44 | 45 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/steamwebapiutil/GetSupportedAPIList.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.steamwebapiutil; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.interfaces.steamwebapiutil.requests.SteamWebApiUtilRequest; 20 | 21 | public class GetSupportedAPIList extends SteamWebApiUtilRequest { 22 | 23 | /** 24 | *

Constructor for SteamWebApiRequest.

25 | * 26 | * @param apiVersion 27 | * a int 28 | */ 29 | public GetSupportedAPIList(int apiVersion) { 30 | super("GetSupportedAPIList", apiVersion); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/gameservers/QueryLoginToken.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.gameservers; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.GameServersRequest; 20 | 21 | public class QueryLoginToken extends GameServersRequest { 22 | 23 | /** 24 | *

Constructor for SteamWebApiRequest.

25 | * 26 | * @param apiVersion 27 | * a int 28 | */ 29 | public QueryLoginToken(int apiVersion, String loginToken) { 30 | super("QueryLoginToken", apiVersion); 31 | urlParam("login_token", loginToken); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /examples/src/main/java/com/ibasco/agql/examples/rcon/CommandResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.examples.rcon; 18 | 19 | import com.ibasco.agql.core.util.Strings; 20 | 21 | public class CommandResponse { 22 | 23 | private final String command; 24 | 25 | private final String result; 26 | 27 | public CommandResponse(String result, String command) { 28 | this.command = command; 29 | this.result = result; 30 | } 31 | 32 | public String getCommand() { 33 | return command; 34 | } 35 | 36 | public boolean isEmptyResult() { 37 | return Strings.isBlank(result); 38 | } 39 | 40 | public String getResult() { 41 | return result; 42 | } 43 | } -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/apps/GetAppList.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.apps; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamAppsRequest; 20 | 21 | /** 22 | * Returns a list of available steam apps and their appIds 23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class GetAppList extends SteamAppsRequest { 27 | 28 | /** 29 | *

Constructor for GetAppList.

30 | * 31 | * @param apiVersion 32 | * a int 33 | */ 34 | public GetAppList(int apiVersion) { 35 | super("GetAppList", apiVersion); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/gameservers/GetAccountPublicInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.gameservers; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.GameServersRequest; 20 | 21 | public class GetAccountPublicInfo extends GameServersRequest { 22 | 23 | /** 24 | *

Constructor for SteamWebApiRequest.

25 | * 26 | * @param apiVersion 27 | * a int 28 | */ 29 | public GetAccountPublicInfo(int apiVersion, long steamId) { 30 | super("GetAccountPublicInfo", apiVersion); 31 | urlParam("steamid", steamId); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/transport/NettyChannelContextFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.transport; 18 | 19 | import com.ibasco.agql.core.NettyChannelContext; 20 | import io.netty.channel.Channel; 21 | 22 | /** 23 | *

NettyChannelContextFactory interface.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | @FunctionalInterface 28 | public interface NettyChannelContextFactory { 29 | 30 | /** 31 | *

create.

32 | * 33 | * @param channel 34 | * a {@link io.netty.channel.Channel} object 35 | * 36 | * @return a {@link com.ibasco.agql.core.NettyChannelContext} object 37 | */ 38 | NettyChannelContext create(Channel channel); 39 | } 40 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/AbstractPacket.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core; 18 | 19 | import io.netty.buffer.ByteBuf; 20 | import io.netty.buffer.DefaultByteBufHolder; 21 | 22 | /** 23 | * Base class for {@link com.ibasco.agql.core.Packet}. Extends from Netty's {@link io.netty.buffer.DefaultByteBufHolder} 24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | abstract public class AbstractPacket extends DefaultByteBufHolder implements Packet { 28 | 29 | /** 30 | *

Constructor for AbstractPacket.

31 | * 32 | * @param data 33 | * a {@link io.netty.buffer.ByteBuf} object 34 | */ 35 | public AbstractPacket(ByteBuf data) { 36 | super(data); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/enums/VanityUrlType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.enums; 18 | 19 | /** 20 | *

VanityUrlType class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public enum VanityUrlType { 25 | DEFAULT(1), 26 | INDIVIDUAL_PROFILE(1), 27 | GROUP(2), 28 | OFFICIAL_GAME_GROUP(3); 29 | 30 | private final int type; 31 | 32 | VanityUrlType(int type) { 33 | this.type = type; 34 | } 35 | 36 | /** 37 | *

Getter for the field type.

38 | * 39 | * @return a int 40 | */ 41 | public int getType() { 42 | return type; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/enums/Dota2TeamType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.enums; 18 | 19 | /** 20 | *

Dota2TeamType class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public enum Dota2TeamType { 25 | RADIANT(0), 26 | DIRE(1), 27 | BROADCASTER(2), 28 | UNASSIGNED(4); 29 | 30 | private final int typeCode; 31 | 32 | Dota2TeamType(int typeCode) { 33 | this.typeCode = typeCode; 34 | } 35 | 36 | /** 37 | *

Getter for the field typeCode.

38 | * 39 | * @return a int 40 | */ 41 | public int getTypeCode() { 42 | return typeCode; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/steamstore/GetMostPopularTags.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.steamstore; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.interfaces.steamstore.requests.SteamStoreServiceRequest; 20 | 21 | public class GetMostPopularTags extends SteamStoreServiceRequest { 22 | 23 | /** 24 | *

Constructor for SteamWebApiRequest.

25 | * 26 | * @param apiVersion 27 | * a int 28 | */ 29 | public GetMostPopularTags(int apiVersion, String language) { 30 | super("GetMostPopularTags", apiVersion); 31 | urlParam("language", language); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/Client.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core; 18 | 19 | import com.ibasco.agql.core.util.UUID; 20 | import java.io.Closeable; 21 | import java.util.concurrent.Executor; 22 | 23 | /** 24 | *

Client interface.

25 | * 26 | * @author Rafael Luis Ibasco 27 | */ 28 | public interface Client extends Closeable { 29 | 30 | /** 31 | *

The unique-id of this instance

32 | * 33 | * @return A {@link com.ibasco.agql.core.util.UUID} object 34 | */ 35 | UUID id(); 36 | 37 | /** 38 | *

The underlying {@link Executor} used by this instance

39 | * 40 | * @return The {@link java.util.concurrent.Executor} object 41 | */ 42 | Executor getExecutor(); 43 | } 44 | -------------------------------------------------------------------------------- /protocols/valve/csgo/webapi/src/main/java/com/ibasco/agql/protocols/valve/csgo/webapi/CsgoWebApiResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.csgo.webapi; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamWebApiResponse; 20 | import org.asynchttpclient.Response; 21 | 22 | /** 23 | *

CsgoWebApiResponse class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class CsgoWebApiResponse extends SteamWebApiResponse { 28 | 29 | /** 30 | *

Constructor for CsgoWebApiResponse.

31 | * 32 | * @param response 33 | * a {@link org.asynchttpclient.Response} object 34 | */ 35 | public CsgoWebApiResponse(Response response) { 36 | super(response); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/PacketDecoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core; 18 | 19 | import com.ibasco.agql.core.exceptions.PacketDecodeException; 20 | import io.netty.buffer.ByteBuf; 21 | 22 | /** 23 | *

PacketDecoder interface.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | @FunctionalInterface 28 | public interface PacketDecoder

{ 29 | 30 | /** 31 | *

decode.

32 | * 33 | * @param data 34 | * a {@link io.netty.buffer.ByteBuf} object 35 | * 36 | * @return a P object 37 | * 38 | * @throws com.ibasco.agql.core.exceptions.PacketDecodeException 39 | * if any. 40 | */ 41 | P decode(ByteBuf data) throws PacketDecodeException; 42 | } 43 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/Dota2WebApiResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamWebApiResponse; 20 | import org.asynchttpclient.Response; 21 | 22 | /** 23 | *

Dota2WebApiResponse class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class Dota2WebApiResponse extends SteamWebApiResponse { 28 | 29 | /** 30 | *

Constructor for Dota2WebApiResponse.

31 | * 32 | * @param response 33 | * a {@link org.asynchttpclient.Response} object 34 | */ 35 | public Dota2WebApiResponse(Response response) { 36 | super(response); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/gameservers/GetServerList.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.gameservers; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.GameServersRequest; 20 | 21 | public class GetServerList extends GameServersRequest { 22 | 23 | /** 24 | *

Constructor for SteamWebApiRequest.

25 | * 26 | * @param apiVersion 27 | * a int 28 | */ 29 | public GetServerList(int apiVersion, String filter, int limit) { 30 | super("GetServerList", apiVersion); 31 | urlParam("filter", filter); 32 | if (limit > 0) 33 | urlParam("limit", limit); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/util/HttpOptions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.util; 18 | 19 | /** 20 | *

HttpOptions class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class HttpOptions extends AbstractOptions { 25 | 26 | /** 27 | * The authentication token to use 28 | */ 29 | public static final Option API_KEY = Option.create("webApiKey", null); 30 | 31 | /** 32 | *

Create a new {@link OptionBuilder} for {@link HttpOptions}

33 | * 34 | * @return a newly instantiated {@link com.ibasco.agql.core.util.OptionBuilder} object 35 | */ 36 | public static OptionBuilder builder() { 37 | return OptionBuilder.newBuilder(HttpOptions.class); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/gameservers/DeleteAccount.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.gameservers; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.GameServersRequest; 20 | import io.netty.handler.codec.http.HttpMethod; 21 | 22 | public class DeleteAccount extends GameServersRequest { 23 | 24 | /** 25 | *

Constructor for SteamWebApiRequest.

26 | * 27 | * @param apiVersion 28 | * a int 29 | */ 30 | public DeleteAccount(int apiVersion, long steamId) { 31 | super("DeleteAccount", apiVersion); 32 | method(HttpMethod.POST); 33 | urlParam("steamid", steamId); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/transport/http/ContentTypeProcessor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.transport.http; 18 | 19 | import java.util.function.Function; 20 | 21 | /** 22 | *

Abstract ContentTypeProcessor class.

23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | abstract public class ContentTypeProcessor implements Function { 27 | 28 | /** {@inheritDoc} */ 29 | @Override 30 | public final T apply(String s) { 31 | return processContent(s); 32 | } 33 | 34 | /** 35 | *

processContent.

36 | * 37 | * @param body 38 | * a {@link java.lang.String} object 39 | * 40 | * @return a T object 41 | */ 42 | protected abstract T processContent(String body); 43 | } 44 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/gameservers/ResetLoginToken.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.gameservers; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.GameServersRequest; 20 | import io.netty.handler.codec.http.HttpMethod; 21 | 22 | public class ResetLoginToken extends GameServersRequest { 23 | 24 | /** 25 | *

Constructor for SteamWebApiRequest.

26 | * 27 | * @param apiVersion 28 | * a int 29 | */ 30 | public ResetLoginToken(int apiVersion, long steamId) { 31 | super("ResetLoginToken", apiVersion); 32 | method(HttpMethod.POST); 33 | urlParam("steamid", steamId); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/SteamWebApiResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi; 18 | 19 | import com.google.gson.JsonElement; 20 | import com.ibasco.agql.core.AbstractWebApiResponse; 21 | import org.asynchttpclient.Response; 22 | 23 | /** 24 | *

SteamWebApiResponse class.

25 | * 26 | * @author Rafael Luis Ibasco 27 | */ 28 | public class SteamWebApiResponse extends AbstractWebApiResponse { 29 | 30 | /** 31 | *

Constructor for SteamWebApiResponse.

32 | * 33 | * @param response 34 | * a {@link org.asynchttpclient.Response} object 35 | */ 36 | public SteamWebApiResponse(Response response) { 37 | super(response); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /protocols/valve/source/query/src/main/java/com/ibasco/agql/protocols/valve/source/query/rules/SourceQueryRulesEncoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.source.query.rules; 18 | 19 | import com.ibasco.agql.protocols.valve.source.query.SourceQuery; 20 | import com.ibasco.agql.protocols.valve.source.query.common.handlers.SourceQueryAuthEncoder; 21 | 22 | /** 23 | *

SourceQueryRulesEncoder class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class SourceQueryRulesEncoder extends SourceQueryAuthEncoder { 28 | 29 | /** 30 | *

Constructor for SourceQueryRulesEncoder.

31 | */ 32 | public SourceQueryRulesEncoder() { 33 | super(SourceQueryRulesRequest.class, SourceQuery.SOURCE_QUERY_RULES_REQ); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/gameservers/SetMemo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.gameservers; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.GameServersRequest; 20 | import io.netty.handler.codec.http.HttpMethod; 21 | 22 | public class SetMemo extends GameServersRequest { 23 | 24 | /** 25 | *

Constructor for SteamWebApiRequest.

26 | * 27 | * @param apiVersion 28 | * a int 29 | */ 30 | public SetMemo(int apiVersion, long steamId, String memo) { 31 | super("SetMemo", apiVersion); 32 | method(HttpMethod.POST); 33 | urlParam("steamid", steamId); 34 | urlParam("memo", memo); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /protocols/valve/source/query/src/main/java/com/ibasco/agql/protocols/valve/source/query/players/SourceQueryPlayersEncoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.source.query.players; 18 | 19 | import com.ibasco.agql.protocols.valve.source.query.SourceQuery; 20 | import com.ibasco.agql.protocols.valve.source.query.common.handlers.SourceQueryAuthEncoder; 21 | 22 | /** 23 | *

SourceQueryPlayersEncoder class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class SourceQueryPlayersEncoder extends SourceQueryAuthEncoder { 28 | 29 | /** 30 | *

Constructor for SourceQueryPlayersEncoder.

31 | */ 32 | public SourceQueryPlayersEncoder() { 33 | super(SourceQueryPlayerRequest.class, SourceQuery.SOURCE_QUERY_PLAYER_REQ); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/gameservers/CreateAccount.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.gameservers; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.GameServersRequest; 20 | import io.netty.handler.codec.http.HttpMethod; 21 | 22 | public class CreateAccount extends GameServersRequest { 23 | 24 | /** 25 | *

Constructor for SteamWebApiRequest.

26 | * 27 | * @param apiVersion 28 | * a int 29 | */ 30 | public CreateAccount(int apiVersion, int appId, String memo) { 31 | super("CreateAccount", apiVersion); 32 | method(HttpMethod.POST); 33 | urlParam("appid", appId); 34 | urlParam("memo", memo); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/pojos/StoreAppRecommendations.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.pojos; 18 | 19 | /** 20 | *

StoreAppRecommendations class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class StoreAppRecommendations { 25 | 26 | private int total; 27 | 28 | /** 29 | *

Getter for the field total.

30 | * 31 | * @return a int 32 | */ 33 | public int getTotal() { 34 | return total; 35 | } 36 | 37 | /** 38 | *

Setter for the field total.

39 | * 40 | * @param total 41 | * a int 42 | */ 43 | public void setTotal(int total) { 44 | this.total = total; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /protocols/valve/source/query/src/main/java/com/ibasco/agql/protocols/valve/source/query/players/SourceQueryPlayerResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.source.query.players; 18 | 19 | import com.ibasco.agql.protocols.valve.source.query.common.message.SourceQueryResponse; 20 | import java.util.List; 21 | 22 | /** 23 | *

SourceQueryPlayerResponse class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class SourceQueryPlayerResponse extends SourceQueryResponse> { 28 | 29 | /** 30 | *

Constructor for SourceQueryPlayerResponse.

31 | * 32 | * @param players 33 | * a {@link java.util.List} object 34 | */ 35 | public SourceQueryPlayerResponse(List players) { 36 | super(players); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/requests/GameServersRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamWebApiRequest; 21 | 22 | abstract public class GameServersRequest extends SteamWebApiRequest { 23 | 24 | /** 25 | *

Constructor for SteamWebApiRequest.

26 | * 27 | * @param apiMethod 28 | * a {@link String} object 29 | * @param apiVersion 30 | * a int 31 | */ 32 | public GameServersRequest(String apiMethod, int apiVersion) { 33 | super(SteamApiConstants.STEAM_GAMESERVERS_SERVICE, apiMethod, apiVersion); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /protocols/valve/csgo/webapi/src/main/java/com/ibasco/agql/protocols/valve/csgo/webapi/interfaces/servers/GetGameMapsPlaytime.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.csgo.webapi.interfaces.servers; 18 | 19 | import com.ibasco.agql.protocols.valve.csgo.webapi.interfaces.CsgoServersRequest; 20 | 21 | public class GetGameMapsPlaytime extends CsgoServersRequest { 22 | 23 | /** 24 | *

Constructor for CsgoServersRequest.

25 | * 26 | * @param apiVersion 27 | * a int 28 | */ 29 | public GetGameMapsPlaytime(int apiVersion, String interval, String gamemode, String mapgroup) { 30 | super("GetGameMapsPlaytime", apiVersion); 31 | urlParam("interval", interval); 32 | urlParam("gamemode", gamemode); 33 | urlParam("mapgroup", mapgroup); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /protocols/valve/source/query/src/main/java/com/ibasco/agql/protocols/valve/source/query/info/SourceQueryInfoResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.source.query.info; 18 | 19 | import com.ibasco.agql.protocols.valve.source.query.common.message.SourceQueryResponse; 20 | 21 | /** 22 | *

SourceQueryInfoResponse class.

23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class SourceQueryInfoResponse extends SourceQueryResponse { 27 | 28 | /** 29 | *

Constructor for SourceQueryInfoResponse.

30 | * 31 | * @param sourceServer 32 | * a {@link com.ibasco.agql.protocols.valve.source.query.info.SourceServer} object 33 | */ 34 | public SourceQueryInfoResponse(SourceServer sourceServer) { 35 | super(sourceServer); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/interfaces/match/GetLeagueListing.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.match; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.requests.Dota2MatchRequest; 21 | 22 | /** 23 | *

GetLeagueListing class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetLeagueListing extends Dota2MatchRequest { 28 | 29 | /** 30 | *

Constructor for GetLeagueListing.

31 | * 32 | * @param apiVersion 33 | * a int 34 | */ 35 | public GetLeagueListing(int apiVersion) { 36 | super(Dota2ApiConstants.DOTA2_METHOD_GETLEAGUELIST, apiVersion, null); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/player/GetBadges.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.player; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamPlayerServiceRequest; 20 | 21 | /** 22 | * Gets badges that are owned by a specific user 23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class GetBadges extends SteamPlayerServiceRequest { 27 | 28 | /** 29 | *

Constructor for GetBadges.

30 | * 31 | * @param apiVersion 32 | * a int 33 | * @param steamId 34 | * a long 35 | */ 36 | public GetBadges(int apiVersion, long steamId) { 37 | super("GetBadges", apiVersion); 38 | urlParam("steamid", steamId); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/user/GetUserGroupList.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.user; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamUserRequest; 20 | 21 | /** 22 | * Created by raffy on 10/27/2016. 23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class GetUserGroupList extends SteamUserRequest { 27 | 28 | /** 29 | *

Constructor for GetUserGroupList.

30 | * 31 | * @param apiVersion 32 | * a int 33 | * @param steamId 34 | * a long 35 | */ 36 | public GetUserGroupList(int apiVersion, long steamId) { 37 | super("GetUserGroupList", apiVersion); 38 | urlParam("steamid", steamId); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/Transport.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core; 18 | 19 | import com.ibasco.agql.core.util.ConfigurationSupport; 20 | import java.io.Closeable; 21 | import java.util.concurrent.CompletableFuture; 22 | 23 | /** 24 | *

Transport interface.

25 | * 26 | * @param 27 | * The return type of the transport 28 | * @param 29 | * The parameter type accepted by {@link #send(Object)} 30 | * 31 | * @author Rafael Luis Ibasco 32 | */ 33 | public interface Transport extends Closeable, ConfigurationSupport { 34 | 35 | /** 36 | *

send.

37 | * 38 | * @param data 39 | * a R object 40 | * 41 | * @return a {@link java.util.concurrent.CompletableFuture} object 42 | */ 43 | CompletableFuture send(R data); 44 | } 45 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/interfaces/fantasy/GetProPlayerList.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.fantasy; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.requests.Dota2FantasyRequest; 21 | 22 | /** 23 | *

GetProPlayerList class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetProPlayerList extends Dota2FantasyRequest { 28 | 29 | /** 30 | *

Constructor for GetProPlayerList.

31 | * 32 | * @param apiVersion 33 | * a int 34 | */ 35 | public GetProPlayerList(int apiVersion) { 36 | super(Dota2ApiConstants.DOTA2_METHOD_GETPROPLAYERLSIT, apiVersion); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/player/GetSteamLevel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.player; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamPlayerServiceRequest; 20 | 21 | /** 22 | * Returns the Steam Level of a user 23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class GetSteamLevel extends SteamPlayerServiceRequest { 27 | 28 | /** 29 | *

Constructor for GetSteamLevel.

30 | * 31 | * @param apiVersion 32 | * a int 33 | * @param steamId 34 | * a long 35 | */ 36 | public GetSteamLevel(int apiVersion, long steamId) { 37 | super("GetSteamLevel", apiVersion); 38 | urlParam("steamid", steamId); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/csgo/webapi/src/main/java/com/ibasco/agql/protocols/valve/csgo/webapi/CsgoApiConstants.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.csgo.webapi; 18 | 19 | /** 20 | *

CsgoApiConstants class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public final class CsgoApiConstants { 25 | 26 | /** Constant CSGO_INTERFACE_SERVERS="ICSGOServers_730" */ 27 | public static final String CSGO_INTERFACE_SERVERS = "ICSGOServers_730"; 28 | 29 | /** Constant CSGO_INTERFACE_TOURNAMENTS="ICSGOTournaments_730" */ 30 | public static final String CSGO_INTERFACE_TOURNAMENTS = "ICSGOTournaments_730"; 31 | 32 | /** Constant CSGO_METHOD_GETGAMESERVERSTATUS="GetGameServersStatus" */ 33 | public static final String CSGO_METHOD_GETGAMESERVERSTATUS = "GetGameServersStatus"; 34 | } 35 | -------------------------------------------------------------------------------- /protocols/valve/csgo/webapi/src/main/java/com/ibasco/agql/protocols/valve/csgo/webapi/interfaces/servers/GetGameServersStatus.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.csgo.webapi.interfaces.servers; 18 | 19 | import com.ibasco.agql.protocols.valve.csgo.webapi.CsgoApiConstants; 20 | import com.ibasco.agql.protocols.valve.csgo.webapi.interfaces.CsgoServersRequest; 21 | 22 | /** 23 | *

GetGameServersStatus class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetGameServersStatus extends CsgoServersRequest { 28 | 29 | /** 30 | *

Constructor for GetGameServersStatus.

31 | * 32 | * @param apiVersion 33 | * a int 34 | */ 35 | public GetGameServersStatus(int apiVersion) { 36 | super(CsgoApiConstants.CSGO_METHOD_GETGAMESERVERSTATUS, apiVersion); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/apps/GetServersAtAddress.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.apps; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamAppsRequest; 20 | 21 | /** 22 | * Created by raffy on 10/25/2016. 23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class GetServersAtAddress extends SteamAppsRequest { 27 | 28 | /** 29 | *

Constructor for GetServersAtAddress.

30 | * 31 | * @param version 32 | * a int 33 | * @param address 34 | * a {@link java.lang.String} object 35 | */ 36 | public GetServersAtAddress(int version, String address) { 37 | super("GetServersAtAddress", version); 38 | urlParam("addr", address); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/steamstore/requests/SteamStoreServiceRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.steamstore.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamWebApiRequest; 21 | 22 | public class SteamStoreServiceRequest extends SteamWebApiRequest { 23 | 24 | /** 25 | *

Constructor for SteamWebApiRequest.

26 | * 27 | * @param apiMethod 28 | * a {@link String} object 29 | * @param apiVersion 30 | * a int 31 | */ 32 | public SteamStoreServiceRequest(String apiMethod, int apiVersion) { 33 | super(SteamApiConstants.STEAM_STORE_SERVICE, apiMethod, apiVersion); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /protocols/valve/source/rcon/src/main/java/com/ibasco/agql/protocols/valve/source/query/rcon/RconAuthenticator.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.source.query.rcon; 18 | 19 | import java.util.concurrent.CompletableFuture; 20 | 21 | /** 22 | *

An rcon authenticator. Ensures that the connection is authenticated by the game server

23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | @FunctionalInterface 27 | public interface RconAuthenticator { 28 | 29 | /** 30 | *

authenticate.

31 | * 32 | * @param context 33 | * a {@link com.ibasco.agql.protocols.valve.source.query.rcon.SourceRconChannelContext} object 34 | * 35 | * @return a {@link java.util.concurrent.CompletableFuture} object 36 | */ 37 | CompletableFuture authenticate(SourceRconChannelContext context); 38 | } 39 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/steamwebapiutil/requests/SteamWebApiUtilRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.steamwebapiutil.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamWebApiRequest; 21 | 22 | public class SteamWebApiUtilRequest extends SteamWebApiRequest { 23 | 24 | /** 25 | *

Constructor for SteamWebApiRequest.

26 | * 27 | * @param apiMethod 28 | * a {@link String} object 29 | * @param apiVersion 30 | * a int 31 | */ 32 | public SteamWebApiUtilRequest(String apiMethod, int apiVersion) { 33 | super(SteamApiConstants.STEAM_WEB_API_UTIL, apiMethod, apiVersion); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/econitems/GetSchema.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.econitems; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamEconItemsRequest; 21 | 22 | /** 23 | *

GetSchema class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetSchema extends SteamEconItemsRequest { 28 | 29 | /** 30 | *

Constructor for GetSchema.

31 | * 32 | * @param appId 33 | * a int 34 | * @param apiVersion 35 | * a int 36 | */ 37 | public GetSchema(int appId, int apiVersion) { 38 | super(appId, SteamApiConstants.STEAM_METHOD_ECONITEMS_GETSCHEMA, apiVersion); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/steamstore/pojos/PopularTag.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.steamstore.pojos; 18 | 19 | import com.google.gson.annotations.Expose; 20 | import com.google.gson.annotations.SerializedName; 21 | 22 | public class PopularTag { 23 | 24 | @SerializedName("tagid") 25 | @Expose 26 | private Integer tagId; 27 | 28 | @SerializedName("name") 29 | @Expose 30 | private String name; 31 | 32 | public Integer getTagId() { 33 | return tagId; 34 | } 35 | 36 | public void setTagId(Integer tagId) { 37 | this.tagId = tagId; 38 | } 39 | 40 | public String getName() { 41 | return name; 42 | } 43 | 44 | public void setName(String name) { 45 | this.name = name; 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /protocols/valve/csgo/webapi/src/main/java/com/ibasco/agql/protocols/valve/csgo/webapi/CsgoWebApiRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.csgo.webapi; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamWebApiRequest; 20 | 21 | /** 22 | *

CsgoWebApiRequest class.

23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class CsgoWebApiRequest extends SteamWebApiRequest { 27 | 28 | /** 29 | *

Constructor for CsgoWebApiRequest.

30 | * 31 | * @param apiInterface 32 | * a {@link java.lang.String} object 33 | * @param apiMethod 34 | * a {@link java.lang.String} object 35 | * @param apiVersion 36 | * a int 37 | */ 38 | public CsgoWebApiRequest(String apiInterface, String apiMethod, int apiVersion) { 39 | super(apiInterface, apiMethod, apiVersion); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/econitems/GetSchemaUrl.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.econitems; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamEconItemsRequest; 21 | 22 | /** 23 | *

GetSchemaUrl class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetSchemaUrl extends SteamEconItemsRequest { 28 | 29 | /** 30 | *

Constructor for GetSchemaUrl.

31 | * 32 | * @param appId 33 | * a int 34 | * @param apiVersion 35 | * a int 36 | */ 37 | public GetSchemaUrl(int appId, int apiVersion) { 38 | super(appId, SteamApiConstants.STEAM_METHOD_ECONITEMS_GETSCHEMAURL, apiVersion); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/supercell/clashofclans/webapi/src/main/java/com/ibasco/agql/protocols/supercell/coc/webapi/CocWebApiResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.supercell.coc.webapi; 18 | 19 | import com.google.gson.JsonElement; 20 | import com.ibasco.agql.core.AbstractWebApiResponse; 21 | import org.asynchttpclient.Response; 22 | import org.jetbrains.annotations.ApiStatus; 23 | 24 | /** 25 | *

CocWebApiResponse class.

26 | * 27 | * @author Rafael Luis Ibasco 28 | */ 29 | @Deprecated 30 | @ApiStatus.ScheduledForRemoval 31 | public class CocWebApiResponse extends AbstractWebApiResponse { 32 | 33 | /** 34 | *

Constructor for CocWebApiResponse.

35 | * 36 | * @param response 37 | * a {@link org.asynchttpclient.Response} object 38 | */ 39 | public CocWebApiResponse(Response response) { 40 | super(response); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/interfaces/econ/GetRarities.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.econ; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.requests.Dota2EconRequest; 21 | 22 | /** 23 | *

GetRarities class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetRarities extends Dota2EconRequest { 28 | 29 | /** 30 | *

Constructor for GetRarities.

31 | * 32 | * @param apiVersion 33 | * a int 34 | * @param language 35 | * a {@link java.lang.String} object 36 | */ 37 | public GetRarities(int apiVersion, String language) { 38 | super(Dota2ApiConstants.DOTA2_METHOD_GETRARITIES, apiVersion, language); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/pojos/SteamResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.pojos; 18 | 19 | import com.google.gson.annotations.SerializedName; 20 | 21 | /** 22 | * Created by raffy on 10/26/2016. 23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public abstract class SteamResponse { 27 | 28 | @SerializedName("success") 29 | private boolean success; 30 | 31 | /** 32 | *

isSuccess.

33 | * 34 | * @return a boolean 35 | */ 36 | public boolean isSuccess() { 37 | return success; 38 | } 39 | 40 | /** 41 | *

Setter for the field success.

42 | * 43 | * @param success 44 | * a boolean 45 | */ 46 | public void setSuccess(boolean success) { 47 | this.success = success; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/interfaces/econ/GetGameItems.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.econ; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.requests.Dota2EconRequest; 21 | 22 | /** 23 | *

GetGameItems class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetGameItems extends Dota2EconRequest { 28 | 29 | /** 30 | *

Constructor for GetGameItems.

31 | * 32 | * @param apiVersion 33 | * a int 34 | * @param language 35 | * a {@link java.lang.String} object 36 | */ 37 | public GetGameItems(int apiVersion, String language) { 38 | super(Dota2ApiConstants.DOTA2_METHOD_GETGAMEITEMS, apiVersion, language); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/source/query/src/main/java/com/ibasco/agql/protocols/valve/source/query/rules/SourceQueryRulesRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.source.query.rules; 18 | 19 | import com.ibasco.agql.protocols.valve.source.query.common.message.SourceQueryAuthRequest; 20 | 21 | /** 22 | *

SourceQueryRulesRequest class.

23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class SourceQueryRulesRequest extends SourceQueryAuthRequest { 27 | 28 | /** 29 | *

Constructor for SourceQueryRulesRequest.

30 | */ 31 | public SourceQueryRulesRequest() { 32 | } 33 | 34 | /** 35 | *

Constructor for SourceQueryRulesRequest.

36 | * 37 | * @param challenge 38 | * a {@link java.lang.Integer} object 39 | */ 40 | public SourceQueryRulesRequest(Integer challenge) { 41 | super(challenge); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /protocols/valve/source/query/src/main/java/com/ibasco/agql/protocols/valve/source/query/players/SourceQueryPlayerRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.source.query.players; 18 | 19 | import com.ibasco.agql.protocols.valve.source.query.common.message.SourceQueryAuthRequest; 20 | 21 | /** 22 | *

SourceQueryPlayerRequest class.

23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class SourceQueryPlayerRequest extends SourceQueryAuthRequest { 27 | 28 | /** 29 | *

Constructor for SourceQueryPlayerRequest.

30 | */ 31 | public SourceQueryPlayerRequest() {} 32 | 33 | /** 34 | *

Constructor for SourceQueryPlayerRequest.

35 | * 36 | * @param challenge 37 | * a {@link java.lang.Integer} object 38 | */ 39 | public SourceQueryPlayerRequest(Integer challenge) { 40 | super(challenge); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/econitems/GetStoreStatus.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.econitems; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamEconItemsRequest; 21 | 22 | /** 23 | *

GetStoreStatus class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetStoreStatus extends SteamEconItemsRequest { 28 | 29 | /** 30 | *

Constructor for GetStoreStatus.

31 | * 32 | * @param appId 33 | * a int 34 | * @param apiVersion 35 | * a int 36 | */ 37 | public GetStoreStatus(int appId, int apiVersion) { 38 | super(appId, SteamApiConstants.STEAM_METHOD_ECONITEMS_GETSTORESTATUS, apiVersion); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/source/rcon/src/main/java/com/ibasco/agql/protocols/valve/source/query/rcon/enums/SourceRconAuthReason.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.source.query.rcon.enums; 18 | 19 | /** 20 | * An enumeration for identifying the type of authentication failure 21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public enum SourceRconAuthReason { 25 | /** 26 | * Credentials have been invalidated for the address. Must re-authenticate with server with new Credentials 27 | */ 28 | INVALIDATED, 29 | /** 30 | * Credentials supplied is invalid 31 | */ 32 | INVALID_CREDENTIALS, 33 | /** 34 | * Connection has been dropped by the remote server 35 | */ 36 | CONNECTION_DROPPED, 37 | /** 38 | * An attempt to execute a command request on an address that has not yet been authenticated by the server. 39 | */ 40 | NOT_AUTHENTICATED 41 | } 42 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/econitems/GetStoreMetadata.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.econitems; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamEconItemsRequest; 21 | 22 | /** 23 | *

GetStoreMetadata class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetStoreMetadata extends SteamEconItemsRequest { 28 | 29 | /** 30 | *

Constructor for GetStoreMetadata.

31 | * 32 | * @param appId 33 | * a int 34 | * @param apiVersion 35 | * a int 36 | */ 37 | public GetStoreMetadata(int appId, int apiVersion) { 38 | super(appId, SteamApiConstants.STEAM_METHOD_ECONITEMS_GETSTOREMETA, apiVersion); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/requests/SteamAppsRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamWebApiRequest; 21 | 22 | /** 23 | *

Abstract SteamAppsRequest class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | abstract public class SteamAppsRequest extends SteamWebApiRequest { 28 | 29 | /** 30 | *

Constructor for SteamAppsRequest.

31 | * 32 | * @param apiMethod 33 | * a {@link java.lang.String} object 34 | * @param apiVersion 35 | * a int 36 | */ 37 | public SteamAppsRequest(String apiMethod, int apiVersion) { 38 | super(SteamApiConstants.STEAM_APPS, apiMethod, apiVersion); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/requests/SteamNewsRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamWebApiRequest; 21 | 22 | /** 23 | *

Abstract SteamNewsRequest class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | abstract public class SteamNewsRequest extends SteamWebApiRequest { 28 | 29 | /** 30 | *

Constructor for SteamNewsRequest.

31 | * 32 | * @param apiMethod 33 | * a {@link java.lang.String} object 34 | * @param apiVersion 35 | * a int 36 | */ 37 | public SteamNewsRequest(String apiMethod, int apiVersion) { 38 | super(SteamApiConstants.STEAM_NEWS, apiMethod, apiVersion); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/requests/SteamUserRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamWebApiRequest; 21 | 22 | /** 23 | *

Abstract SteamUserRequest class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | abstract public class SteamUserRequest extends SteamWebApiRequest { 28 | 29 | /** 30 | *

Constructor for SteamUserRequest.

31 | * 32 | * @param apiMethod 33 | * a {@link java.lang.String} object 34 | * @param apiVersion 35 | * a int 36 | */ 37 | public SteamUserRequest(String apiMethod, int apiVersion) { 38 | super(SteamApiConstants.STEAM_USER, apiMethod, apiVersion); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/steamstore/GetLocalizedNameForTags.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.steamstore; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.interfaces.steamstore.requests.SteamStoreServiceRequest; 20 | import java.util.Collection; 21 | 22 | public class GetLocalizedNameForTags extends SteamStoreServiceRequest { 23 | 24 | /** 25 | *

Constructor for SteamWebApiRequest.

26 | * 27 | * @param apiVersion 28 | * a int 29 | */ 30 | public GetLocalizedNameForTags(int apiVersion, String language, Collection tagIds) { 31 | super("GetLocalizedNameForTags", apiVersion); 32 | urlParam("language", language); 33 | if (tagIds != null && !tagIds.isEmpty()) 34 | urlParam("tagids", tagIds); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /protocols/valve/csgo/webapi/src/main/java/com/ibasco/agql/protocols/valve/csgo/webapi/interfaces/CsgoServersRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.csgo.webapi.interfaces; 18 | 19 | import com.ibasco.agql.protocols.valve.csgo.webapi.CsgoApiConstants; 20 | import com.ibasco.agql.protocols.valve.csgo.webapi.CsgoWebApiRequest; 21 | 22 | /** 23 | *

Abstract CsgoServersRequest class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | abstract public class CsgoServersRequest extends CsgoWebApiRequest { 28 | 29 | /** 30 | *

Constructor for CsgoServersRequest.

31 | * 32 | * @param apiMethod 33 | * a {@link java.lang.String} object 34 | * @param apiVersion 35 | * a int 36 | */ 37 | public CsgoServersRequest(String apiMethod, int apiVersion) { 38 | super(CsgoApiConstants.CSGO_INTERFACE_SERVERS, apiMethod, apiVersion); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/interfaces/match/GetTopLiveGame.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.match; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.requests.Dota2MatchRequest; 21 | 22 | /** 23 | *

GetTopLiveGame class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetTopLiveGame extends Dota2MatchRequest { 28 | 29 | /** 30 | *

Constructor for GetTopLiveGame.

31 | * 32 | * @param apiVersion 33 | * a int 34 | * @param partner 35 | * a int 36 | */ 37 | public GetTopLiveGame(int apiVersion, int partner) { 38 | super(Dota2ApiConstants.DOTA2_METHOD_GETTOPLIVEGAME, apiVersion, null); 39 | urlParam("partner", partner); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/requests/SteamEconomyRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamWebApiRequest; 21 | 22 | /** 23 | *

Abstract SteamEconomyRequest class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | abstract public class SteamEconomyRequest extends SteamWebApiRequest { 28 | 29 | /** 30 | *

Constructor for SteamEconomyRequest.

31 | * 32 | * @param apiMethod 33 | * a {@link java.lang.String} object 34 | * @param apiVersion 35 | * a int 36 | */ 37 | public SteamEconomyRequest(String apiMethod, int apiVersion) { 38 | super(SteamApiConstants.STEAM_ECONOMY, apiMethod, apiVersion); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/interfaces/match/GetMatchDetails.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.match; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.requests.Dota2MatchRequest; 21 | 22 | /** 23 | *

GetMatchDetails class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetMatchDetails extends Dota2MatchRequest { 28 | 29 | /** 30 | *

Constructor for GetMatchDetails.

31 | * 32 | * @param apiVersion 33 | * a int 34 | * @param matchId 35 | * a long 36 | */ 37 | public GetMatchDetails(int apiVersion, long matchId) { 38 | super(Dota2ApiConstants.DOTA2_METHOD_GETMATCHDETAIL, apiVersion, null); 39 | urlParam("match_id", matchId); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /protocols/valve/csgo/webapi/src/main/java/com/ibasco/agql/protocols/valve/csgo/webapi/pojos/CsgoGameMapPlaytimeInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.csgo.webapi.pojos; 18 | 19 | import com.google.gson.annotations.Expose; 20 | import com.google.gson.annotations.SerializedName; 21 | import java.util.List; 22 | 23 | public class CsgoGameMapPlaytimeInfo { 24 | 25 | @SerializedName("Keys") 26 | @Expose 27 | private List keys = null; 28 | 29 | @SerializedName("Rows") 30 | @Expose 31 | private List> rows = null; 32 | 33 | public List getKeys() { 34 | return keys; 35 | } 36 | 37 | public void setKeys(List keys) { 38 | this.keys = keys; 39 | } 40 | 41 | public List> getRows() { 42 | return rows; 43 | } 44 | 45 | public void setRows(List> rows) { 46 | this.rows = rows; 47 | } 48 | 49 | } -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/userstats/GetSchemaForGame.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.userstats; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamUserStatsRequest; 21 | 22 | /** 23 | * Created by raffy on 10/27/2016. 24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetSchemaForGame extends SteamUserStatsRequest { 28 | 29 | /** 30 | *

Constructor for GetSchemaForGame.

31 | * 32 | * @param apiVersion 33 | * a int 34 | * @param appId 35 | * a int 36 | */ 37 | public GetSchemaForGame(int apiVersion, int appId) { 38 | super("GetSchemaForGame", apiVersion); 39 | urlParam(SteamApiConstants.STEAM_URLPARAM_APPID, appId); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/requests/SteamReportCheatRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamWebApiRequest; 21 | 22 | /** 23 | *

SteamReportCheatRequest class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class SteamReportCheatRequest extends SteamWebApiRequest { 28 | 29 | /** 30 | *

Constructor for SteamReportCheatRequest.

31 | * 32 | * @param apiMethod 33 | * a {@link java.lang.String} object 34 | * @param apiVersion 35 | * a int 36 | */ 37 | public SteamReportCheatRequest(String apiMethod, int apiVersion) { 38 | super(SteamApiConstants.STEAM_CHEATREPORT_SERVICE, apiMethod, apiVersion); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/requests/SteamUserStatsRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamWebApiRequest; 21 | 22 | /** 23 | *

Abstract SteamUserStatsRequest class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | abstract public class SteamUserStatsRequest extends SteamWebApiRequest { 28 | 29 | /** 30 | *

Constructor for SteamUserStatsRequest.

31 | * 32 | * @param apiMethod 33 | * a {@link java.lang.String} object 34 | * @param apiVersion 35 | * a int 36 | */ 37 | public SteamUserStatsRequest(String apiMethod, int apiVersion) { 38 | super(SteamApiConstants.STEAM_USER_STATS, apiMethod, apiVersion); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /site/markdown/examples/source_log_example.md: -------------------------------------------------------------------------------- 1 | ## Source Log Listen Service 2 | 3 | This module allows you to receive server log events in real-time 4 | 5 | 1. [Configuration](#configuration) 6 | 2. [Example](#example) 7 | 8 | #### Configuration 9 | 10 | To start receiving log messages, you need to make sure you register the `` on the game server. 11 | Do this either by directly issuing the rcon command `logaddress_add ` on the server or add it to your server configuration files (e.g. server.cfg). 12 | 13 | #### Example 14 | 15 | To start listening to log messages immediately, just pass a callback to receive the log events in real time. The returned future will only be marked as completed once the service has been closed. 16 | 17 | ~~~java 18 | import java.net.InetSocketAddress; 19 | 20 | public class SourceLogListenerExample extends BaseExample { 21 | 22 | private static final Logger log = LoggerFactory.getLogger(SourceLogListenerExample.class); 23 | 24 | public static void main(String[] args) throws Exception { 25 | InetSocketAddress address = new InetSocketAddress("192.168.1.10", 27015); 26 | SourceLogListenService logService = new SourceLogListenService(addres, SourceLogListenerExample::processLogData); 27 | CompletableFuture f = logService.listen(); 28 | f.join(); 29 | System.out.println("Log service has been closed"); 30 | } 31 | 32 | private static void processLogData(SourceLogEntry message) { 33 | System.out.printf("\u001B[36m%s:\u001B[0m %s\n", message.getSourceAddress(), message.getMessage()); 34 | } 35 | } 36 | ~~~ -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/requests/Dota2FantasyRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2WebApiRequest; 21 | 22 | /** 23 | *

Abstract Dota2FantasyRequest class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | abstract public class Dota2FantasyRequest extends Dota2WebApiRequest { 28 | 29 | /** 30 | *

Constructor for Dota2FantasyRequest.

31 | * 32 | * @param apiMethod 33 | * a {@link java.lang.String} object 34 | * @param apiVersion 35 | * a int 36 | */ 37 | public Dota2FantasyRequest(String apiMethod, int apiVersion) { 38 | super(Dota2ApiConstants.DOTA2_INTERFACE_FANTASY, apiMethod, apiVersion, null); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/exceptions/TransportException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.exceptions; 18 | 19 | /** 20 | *

TransportWriteException class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class TransportException extends AgqlRuntimeException { 25 | 26 | /** 27 | *

Constructor for TransportWriteException.

28 | * 29 | * @param message 30 | * a {@link java.lang.String} object 31 | */ 32 | public TransportException(String message) { 33 | this(message, null); 34 | } 35 | 36 | /** 37 | *

Constructor for TransportWriteException.

38 | * 39 | * @param message 40 | * a {@link java.lang.String} object 41 | * @param cause 42 | * a {@link java.lang.Throwable} object 43 | */ 44 | public TransportException(String message, Throwable cause) { 45 | super(message, cause); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/interfaces/econ/GetTournamentPrizePool.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.econ; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.requests.Dota2EconRequest; 21 | 22 | /** 23 | *

GetTournamentPrizePool class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetTournamentPrizePool extends Dota2EconRequest { 28 | 29 | /** 30 | *

Constructor for GetTournamentPrizePool.

31 | * 32 | * @param apiVersion 33 | * a int 34 | * @param leagueId 35 | * a int 36 | */ 37 | public GetTournamentPrizePool(int apiVersion, int leagueId) { 38 | super(Dota2ApiConstants.DOTA2_METHOD_GETTOURNPRIZEPOOL, apiVersion, null); 39 | urlParam("leagueid", leagueId); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/interfaces/stats/GetRealtimeStats.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.stats; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.requests.Dota2StatsRequest; 21 | 22 | /** 23 | *

GetRealtimeStats class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetRealtimeStats extends Dota2StatsRequest { 28 | 29 | /** 30 | *

Constructor for GetRealtimeStats.

31 | * 32 | * @param apiVersion 33 | * a int 34 | * @param serverSteamId 35 | * a long 36 | */ 37 | public GetRealtimeStats(int apiVersion, long serverSteamId) { 38 | super(Dota2ApiConstants.DOTA2_METHOD_GETREALTIMESTATS, apiVersion, null); 39 | urlParam("server_steam_id", serverSteamId); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /protocols/valve/steam/master/src/main/java/com/ibasco/agql/protocols/valve/steam/master/enums/MasterServerType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.master.enums; 18 | 19 | import java.net.InetSocketAddress; 20 | 21 | /** 22 | *

MasterServerType class.

23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public enum MasterServerType { 27 | SOURCE(new InetSocketAddress("hl2master.steampowered.com", 27011)), 28 | GOLDSRC(new InetSocketAddress("hl1master.steampowered.com", 27010)); 29 | 30 | private final InetSocketAddress masterAddress; 31 | 32 | MasterServerType(InetSocketAddress address) { 33 | this.masterAddress = address; 34 | } 35 | 36 | /** 37 | *

Getter for the field masterAddress.

38 | * 39 | * @return a {@link java.net.InetSocketAddress} object 40 | */ 41 | public InetSocketAddress getMasterAddress() { 42 | return masterAddress; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/requests/SteamPlayerServiceRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamWebApiRequest; 21 | 22 | /** 23 | *

Abstract SteamPlayerServiceRequest class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | abstract public class SteamPlayerServiceRequest extends SteamWebApiRequest { 28 | 29 | /** 30 | *

Constructor for SteamPlayerServiceRequest.

31 | * 32 | * @param apiMethod 33 | * a {@link java.lang.String} object 34 | * @param apiVersion 35 | * a int 36 | */ 37 | public SteamPlayerServiceRequest(String apiMethod, int apiVersion) { 38 | super(SteamApiConstants.STEAM_PLAYER_SERVICE, apiMethod, apiVersion); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/exceptions/InvalidPacketException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.exceptions; 18 | 19 | /** 20 | *

InvalidPacketException class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class InvalidPacketException extends AgqlRuntimeException { 25 | 26 | private final byte[] data; 27 | 28 | /** 29 | *

Constructor for InvalidPacketException.

30 | * 31 | * @param message 32 | * a {@link java.lang.String} object 33 | * @param data 34 | * The packet in raw byte array form 35 | */ 36 | public InvalidPacketException(String message, byte[] data) { 37 | super(message); 38 | this.data = data; 39 | } 40 | 41 | /** 42 | *

Getter for the field data.

43 | * 44 | * @return an array of {@code byte} objects 45 | */ 46 | public byte[] getData() { 47 | return data; 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/interfaces/fantasy/GetPlayerOfficialInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.fantasy; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.requests.Dota2FantasyRequest; 21 | 22 | /** 23 | *

GetPlayerOfficialInfo class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetPlayerOfficialInfo extends Dota2FantasyRequest { 28 | 29 | /** 30 | *

Constructor for GetPlayerOfficialInfo.

31 | * 32 | * @param apiVersion 33 | * a int 34 | * @param accountId 35 | * a int 36 | */ 37 | public GetPlayerOfficialInfo(int apiVersion, int accountId) { 38 | super(Dota2ApiConstants.DOTA2_METHOD_GETPLAYERINFO, apiVersion); 39 | urlParam("accountid", accountId); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/user/GetFriendList.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.user; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamUserRequest; 20 | 21 | /** 22 | * Created by raffy on 10/27/2016. 23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class GetFriendList extends SteamUserRequest { 27 | 28 | /** 29 | *

Constructor for GetFriendList.

30 | * 31 | * @param apiVersion 32 | * a int 33 | * @param steamId 34 | * a long 35 | * @param relationship 36 | * a {@link java.lang.String} object 37 | */ 38 | public GetFriendList(int apiVersion, long steamId, String relationship) { 39 | super("GetFriendList", apiVersion); 40 | urlParam("steamid", steamId); 41 | urlParam("relationship", relationship); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/exceptions/WriteInProgressException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.exceptions; 18 | 19 | /** 20 | *

WriteInProgressException class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class WriteInProgressException extends TransportException { 25 | 26 | /** 27 | *

Constructor for WriteInProgressException.

28 | * 29 | * @param message 30 | * a {@link java.lang.String} object 31 | */ 32 | public WriteInProgressException(String message) { 33 | super(message); 34 | } 35 | 36 | /** 37 | *

Constructor for WriteInProgressException.

38 | * 39 | * @param message 40 | * a {@link java.lang.String} object 41 | * @param cause 42 | * a {@link java.lang.Throwable} object 43 | */ 44 | public WriteInProgressException(String message, Throwable cause) { 45 | super(message, cause); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/userstats/GetGlobalAchievementPercentagesForApp.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.userstats; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamUserStatsRequest; 20 | 21 | /** 22 | *

GetGlobalAchievementPercentagesForApp class.

23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class GetGlobalAchievementPercentagesForApp extends SteamUserStatsRequest { 27 | 28 | /** 29 | *

Constructor for GetGlobalAchievementPercentagesForApp.

30 | * 31 | * @param apiVersion 32 | * a int 33 | * @param appId 34 | * a int 35 | */ 36 | public GetGlobalAchievementPercentagesForApp(int apiVersion, int appId) { 37 | super("GetGlobalAchievementPercentagesForApp", apiVersion); 38 | urlParam("gameid", String.valueOf(appId)); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /protocols/valve/source/query/src/main/java/com/ibasco/agql/protocols/valve/source/query/common/message/SourceQueryResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.source.query.common.message; 18 | 19 | import com.ibasco.agql.core.AbstractResponse; 20 | 21 | /** 22 | * Base class for all types of source query responses 23 | * 24 | * @param 25 | * The underlying type of the response 26 | * 27 | * @author Rafael Luis Ibasco 28 | */ 29 | abstract public class SourceQueryResponse extends AbstractResponse { 30 | 31 | /** 32 | *

Constructor for SourceQueryResponse.

33 | * 34 | * @param result 35 | * a T object 36 | */ 37 | protected SourceQueryResponse(T result) { 38 | super(result); 39 | } 40 | 41 | /** 42 | *

getResult.

43 | * 44 | * @return The result of the query 45 | */ 46 | public final T getResult() { 47 | return super.getResult(); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/userstats/GetNumberOfCurrentPlayers.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.userstats; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamUserStatsRequest; 21 | 22 | /** 23 | * Created by raffy on 10/26/2016. 24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetNumberOfCurrentPlayers extends SteamUserStatsRequest { 28 | 29 | /** 30 | *

Constructor for GetNumberOfCurrentPlayers.

31 | * 32 | * @param apiVersion 33 | * a int 34 | * @param appId 35 | * a int 36 | */ 37 | public GetNumberOfCurrentPlayers(int apiVersion, int appId) { 38 | super("GetNumberOfCurrentPlayers", apiVersion); 39 | urlParam(SteamApiConstants.STEAM_URLPARAM_APPID, appId); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /examples/src/main/java/com/ibasco/agql/examples/rcon/SMCommand.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.examples.rcon; 18 | 19 | public class SMCommand { 20 | 21 | private String name; 22 | 23 | private String type; 24 | 25 | private String description; 26 | 27 | public SMCommand(String name, String type, String description) { 28 | this.name = name; 29 | this.type = type; 30 | this.description = description; 31 | } 32 | 33 | public String getName() { 34 | return name; 35 | } 36 | 37 | public void setName(String name) { 38 | this.name = name; 39 | } 40 | 41 | public String getType() { 42 | return type; 43 | } 44 | 45 | public void setType(String type) { 46 | this.type = type; 47 | } 48 | 49 | public String getDescription() { 50 | return description; 51 | } 52 | 53 | public void setDescription(String description) { 54 | this.description = description; 55 | } 56 | } -------------------------------------------------------------------------------- /protocols/valve/source/query/src/main/java/com/ibasco/agql/protocols/valve/source/query/common/enums/SourceChallengeType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.source.query.common.enums; 18 | 19 | import com.ibasco.agql.protocols.valve.source.query.SourceQuery; 20 | 21 | /** 22 | * Enumeration identifying the type of query of a challenge request 23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public enum SourceChallengeType { 27 | INFO(SourceQuery.SOURCE_QUERY_INFO_REQ), 28 | PLAYER(SourceQuery.SOURCE_QUERY_PLAYER_REQ), 29 | RULES(SourceQuery.SOURCE_QUERY_RULES_REQ), 30 | CHALLENGE(SourceQuery.SOURCE_QUERY_CHALLENGE_REQ); 31 | 32 | private final int header; 33 | 34 | SourceChallengeType(int header) { 35 | this.header = header; 36 | } 37 | 38 | /** 39 | *

Getter for the field header.

40 | * 41 | * @return a int 42 | */ 43 | public int getHeader() { 44 | return header; 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/player/GetRecentlyPlayedGames.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.player; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamPlayerServiceRequest; 20 | 21 | /** 22 | * Gets information about a player's recently played games 23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class GetRecentlyPlayedGames extends SteamPlayerServiceRequest { 27 | 28 | /** 29 | *

Constructor for GetRecentlyPlayedGames.

30 | * 31 | * @param apiVersion 32 | * a int 33 | * @param steamId 34 | * a long 35 | * @param count 36 | * a int 37 | */ 38 | public GetRecentlyPlayedGames(int apiVersion, long steamId, int count) { 39 | super("GetRecentlyPlayedGames", apiVersion); 40 | urlParam("steamid", steamId); 41 | urlParam("count", count); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/player/GetSteamGameLenderId.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.player; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamPlayerServiceRequest; 20 | 21 | /** 22 | * Returns valid lender SteamID if game currently played is borrowed 23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class GetSteamGameLenderId extends SteamPlayerServiceRequest { 27 | 28 | /** 29 | *

Constructor for GetSteamGameLenderId.

30 | * 31 | * @param apiVersion 32 | * a int 33 | * @param steamId 34 | * a long 35 | * @param appId 36 | * a int 37 | */ 38 | public GetSteamGameLenderId(int apiVersion, long steamId, int appId) { 39 | super("IsPlayingSharedGame", apiVersion); 40 | urlParam("steamid", steamId); 41 | urlParam("appid_playing", appId); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/steamwebapiutil/pojos/ApiInterface.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.steamwebapiutil.pojos; 18 | 19 | import com.google.gson.annotations.Expose; 20 | import com.google.gson.annotations.SerializedName; 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | public class ApiInterface { 25 | 26 | @SerializedName("name") 27 | @Expose 28 | private String name; 29 | 30 | @SerializedName("methods") 31 | @Expose 32 | private List methods = new ArrayList<>(); 33 | 34 | public String getName() { 35 | return name; 36 | } 37 | 38 | public void setName(String name) { 39 | this.name = name; 40 | } 41 | 42 | public List getMethods() { 43 | return methods; 44 | } 45 | 46 | public void setMethods(List methods) { 47 | this.methods = methods; 48 | } 49 | 50 | } -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/steamwebapiutil/pojos/ServerInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.steamwebapiutil.pojos; 18 | 19 | import com.google.gson.annotations.Expose; 20 | import com.google.gson.annotations.SerializedName; 21 | 22 | public class ServerInfo { 23 | 24 | @SerializedName("servertime") 25 | @Expose 26 | private Long servertime; 27 | 28 | @SerializedName("servertimestring") 29 | @Expose 30 | private String serverTimeString; 31 | 32 | public Long getServertime() { 33 | return servertime; 34 | } 35 | 36 | public void setServertime(Long servertime) { 37 | this.servertime = servertime; 38 | } 39 | 40 | public String getServerTimeString() { 41 | return serverTimeString; 42 | } 43 | 44 | public void setServerTimeString(String serverTimeString) { 45 | this.serverTimeString = serverTimeString; 46 | } 47 | 48 | } -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/AbstractPacketEncoder.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core; 18 | 19 | import io.netty.buffer.ByteBufAllocator; 20 | 21 | /** 22 | *

Abstract AbstractPacketEncoder class.

23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | abstract public class AbstractPacketEncoder

implements PacketEncoder

{ 27 | 28 | private final ByteBufAllocator allocator; 29 | 30 | /** 31 | *

Constructor for AbstractPacketEncoder.

32 | * 33 | * @param allocator 34 | * a {@link io.netty.buffer.ByteBufAllocator} object 35 | */ 36 | public AbstractPacketEncoder(ByteBufAllocator allocator) { 37 | this.allocator = allocator; 38 | } 39 | 40 | /** 41 | *

Getter for the field allocator.

42 | * 43 | * @return a {@link io.netty.buffer.ByteBufAllocator} object 44 | */ 45 | protected final ByteBufAllocator getAllocator() { 46 | return allocator; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/interfaces/teams/GetTeamInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.teams; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.requests.Dota2TeamsRequest; 21 | 22 | /** 23 | *

GetTeamInfo class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetTeamInfo extends Dota2TeamsRequest { 28 | 29 | /** 30 | *

Constructor for GetTeamInfo.

31 | * 32 | * @param apiVersion 33 | * a int 34 | * @param teamId 35 | * a int 36 | * @param leagueId 37 | * a int 38 | */ 39 | public GetTeamInfo(int apiVersion, int teamId, int leagueId) { 40 | super(Dota2ApiConstants.DOTA2_METHOD_GETTEAMINFO, apiVersion, null); 41 | urlParam("team_id", teamId); 42 | urlParam("league_id", leagueId); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/interfaces/econ/GetHeroes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.interfaces.econ; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.requests.Dota2EconRequest; 21 | 22 | /** 23 | *

GetHeroes class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetHeroes extends Dota2EconRequest { 28 | 29 | /** 30 | *

Constructor for GetHeroes.

31 | * 32 | * @param apiVersion 33 | * a int 34 | * @param itemizedOnly 35 | * a boolean 36 | * @param language 37 | * a {@link java.lang.String} object 38 | */ 39 | public GetHeroes(int apiVersion, boolean itemizedOnly, String language) { 40 | super(Dota2ApiConstants.DOTA2_METHOD_GETHEROES, apiVersion, language); 41 | urlParam("itemizedonly", itemizedOnly); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/apps/UpToDateCheck.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.apps; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamAppsRequest; 21 | 22 | /** 23 | *

UpToDateCheck class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class UpToDateCheck extends SteamAppsRequest { 28 | 29 | /** 30 | *

Constructor for UpToDateCheck.

31 | * 32 | * @param version 33 | * a int 34 | * @param serverVersion 35 | * a int 36 | * @param appId 37 | * a int 38 | */ 39 | public UpToDateCheck(int version, int serverVersion, int appId) { 40 | super("UpToDateCheck", version); 41 | urlParam(SteamApiConstants.STEAM_URLPARAM_APPID, appId); 42 | urlParam("version", serverVersion); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/requests/Dota2EconRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2WebApiRequest; 21 | 22 | /** 23 | *

Abstract Dota2EconRequest class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | abstract public class Dota2EconRequest extends Dota2WebApiRequest { 28 | 29 | /** 30 | *

Constructor for Dota2EconRequest.

31 | * 32 | * @param apiMethod 33 | * a {@link java.lang.String} object 34 | * @param apiVersion 35 | * a int 36 | * @param language 37 | * a {@link java.lang.String} object 38 | */ 39 | public Dota2EconRequest(String apiMethod, int apiVersion, String language) { 40 | super(Dota2ApiConstants.DOTA2_INTERFACE_ECON, apiMethod, apiVersion, language); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /protocols/supercell/clashofclans/webapi/src/main/java/com/ibasco/agql/protocols/supercell/coc/webapi/CocTypes.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.supercell.coc.webapi; 18 | 19 | import com.google.gson.reflect.TypeToken; 20 | import com.ibasco.agql.protocols.supercell.coc.webapi.pojos.CocLeague; 21 | import com.ibasco.agql.protocols.supercell.coc.webapi.pojos.CocPlayerRankInfo; 22 | import org.jetbrains.annotations.ApiStatus; 23 | import java.lang.reflect.Type; 24 | import java.util.List; 25 | 26 | /** 27 | *

CocTypes class.

28 | * 29 | * @author Rafael Luis Ibasco 30 | */ 31 | @Deprecated 32 | @ApiStatus.ScheduledForRemoval 33 | public class CocTypes { 34 | 35 | /** Constant COC_LIST_LEAGUE */ 36 | public static final Type COC_LIST_LEAGUE = new TypeToken>() { 37 | }.getType(); 38 | 39 | /** Constant COC_LIST_PLAYER_RANK_INFO */ 40 | public static final Type COC_LIST_PLAYER_RANK_INFO = new TypeToken>() { 41 | }.getType(); 42 | } 43 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/requests/Dota2MatchRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2WebApiRequest; 21 | 22 | /** 23 | *

Abstract Dota2MatchRequest class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | abstract public class Dota2MatchRequest extends Dota2WebApiRequest { 28 | 29 | /** 30 | *

Constructor for Dota2MatchRequest.

31 | * 32 | * @param apiMethod 33 | * a {@link java.lang.String} object 34 | * @param apiVersion 35 | * a int 36 | * @param language 37 | * a {@link java.lang.String} object 38 | */ 39 | public Dota2MatchRequest(String apiMethod, int apiVersion, String language) { 40 | super(Dota2ApiConstants.DOTA2_INTERFACE_MATCH, apiMethod, apiVersion, language); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/requests/Dota2TeamsRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2WebApiRequest; 21 | 22 | /** 23 | *

Abstract Dota2TeamsRequest class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | abstract public class Dota2TeamsRequest extends Dota2WebApiRequest { 28 | 29 | /** 30 | *

Constructor for Dota2TeamsRequest.

31 | * 32 | * @param apiMethod 33 | * a {@link java.lang.String} object 34 | * @param apiVersion 35 | * a int 36 | * @param language 37 | * a {@link java.lang.String} object 38 | */ 39 | public Dota2TeamsRequest(String apiMethod, int apiVersion, String language) { 40 | super(Dota2ApiConstants.DOTA2_INTERFACE_TEAMS, apiMethod, apiVersion, language); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/exceptions/DecodeException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.exceptions; 18 | 19 | /** 20 | *

DecodeException class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class DecodeException extends AgqlException { 25 | 26 | /** 27 | *

Constructor for DecodeException.

28 | */ 29 | public DecodeException() { 30 | } 31 | 32 | /** 33 | *

Constructor for DecodeException.

34 | * 35 | * @param message 36 | * a {@link java.lang.String} object 37 | */ 38 | public DecodeException(String message) { 39 | super(message); 40 | } 41 | 42 | /** 43 | *

Constructor for DecodeException.

44 | * 45 | * @param message 46 | * a {@link java.lang.String} object 47 | * @param cause 48 | * a {@link java.lang.Throwable} object 49 | */ 50 | public DecodeException(String message, Throwable cause) { 51 | super(message, cause); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /protocols/supercell/clashofclans/webapi/src/main/java/com/ibasco/agql/protocols/supercell/coc/webapi/interfaces/leagues/GetLeagueInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.supercell.coc.webapi.interfaces.leagues; 18 | 19 | import com.ibasco.agql.protocols.supercell.coc.webapi.CocApiConstants; 20 | import com.ibasco.agql.protocols.supercell.coc.webapi.CocWebApiRequest; 21 | import org.jetbrains.annotations.ApiStatus; 22 | 23 | /** 24 | *

GetLeagueInfo class.

25 | * 26 | * @author Rafael Luis Ibasco 27 | */ 28 | @Deprecated 29 | @ApiStatus.ScheduledForRemoval 30 | public class GetLeagueInfo extends CocWebApiRequest { 31 | 32 | /** 33 | *

Constructor for GetLeagueInfo.

34 | * 35 | * @param apiVersion 36 | * a int 37 | * @param leagueId 38 | * a int 39 | */ 40 | public GetLeagueInfo(int apiVersion, int leagueId) { 41 | super(apiVersion, CocApiConstants.UF_COC_LEAGUE_INFO); 42 | property(CocApiConstants.UF_PROP_LEAGUE_ID, leagueId); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/requests/Dota2StatsRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2WebApiRequest; 21 | 22 | /** 23 | *

Abstract Dota2StatsRequest class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | abstract public class Dota2StatsRequest extends Dota2WebApiRequest { 28 | 29 | /** 30 | *

Constructor for Dota2StatsRequest.

31 | * 32 | * @param apiMethod 33 | * a {@link java.lang.String} object 34 | * @param apiVersion 35 | * a int 36 | * @param language 37 | * a {@link java.lang.String} object 38 | */ 39 | public Dota2StatsRequest(String apiMethod, int apiVersion, String language) { 40 | super(Dota2ApiConstants.DOTA2_INTERFACE_MATCHSTATS, apiMethod, apiVersion, language); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /protocols/valve/steam/master/src/main/java/com/ibasco/agql/protocols/valve/steam/master/message/MasterServerResponse.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.master.message; 18 | 19 | import com.ibasco.agql.core.AbstractResponse; 20 | import java.net.InetSocketAddress; 21 | import java.util.Set; 22 | 23 | /** 24 | *

MasterServerResponse class.

25 | * 26 | * @author Rafael Luis Ibasco 27 | */ 28 | public class MasterServerResponse extends AbstractResponse> { 29 | 30 | /** 31 | *

Constructor for MasterServerResponse.

32 | * 33 | * @param serverList 34 | * a {@link java.util.Set} object 35 | */ 36 | public MasterServerResponse(Set serverList) { 37 | super(serverList); 38 | } 39 | 40 | /** 41 | *

getServerList.

42 | * 43 | * @return a {@link java.util.Set} object 44 | */ 45 | public final Set getServerList() { 46 | return super.getResult(); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /protocols/supercell/clashofclans/webapi/src/main/java/com/ibasco/agql/protocols/supercell/coc/webapi/enums/CocWarFrequency.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.supercell.coc.webapi.enums; 18 | 19 | import org.jetbrains.annotations.ApiStatus; 20 | 21 | /** 22 | * Created by raffy on 10/28/2016. 23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | @Deprecated 27 | @ApiStatus.ScheduledForRemoval 28 | public enum CocWarFrequency { 29 | NONE(""), 30 | ALWAYS("always"), 31 | MORE_THAN_ONCE_PER_WEEK("moreThanOncePerWeek"), 32 | ONCE_PER_WEEK("oncePerWeek"), 33 | LESS_THAN_ONCE_PER_WEEK("lessThanOncePerWeek"), 34 | NEVER("never"), 35 | UNKNOWN("unknown"); 36 | 37 | private final String code; 38 | 39 | CocWarFrequency(String code) { 40 | this.code = code; 41 | } 42 | 43 | /** 44 | *

Getter for the field code.

45 | * 46 | * @return a {@link java.lang.String} object 47 | */ 48 | public String getCode() { 49 | return code; 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /protocols/supercell/clashofclans/webapi/src/main/java/com/ibasco/agql/protocols/supercell/coc/webapi/interfaces/clans/GetClanInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.supercell.coc.webapi.interfaces.clans; 18 | 19 | import com.ibasco.agql.protocols.supercell.coc.webapi.CocApiConstants; 20 | import com.ibasco.agql.protocols.supercell.coc.webapi.CocWebApiRequest; 21 | import org.jetbrains.annotations.ApiStatus; 22 | 23 | /** 24 | * Created by raffy on 10/27/2016. 25 | * 26 | * @author Rafael Luis Ibasco 27 | */ 28 | @Deprecated 29 | @ApiStatus.ScheduledForRemoval 30 | public class GetClanInfo extends CocWebApiRequest { 31 | 32 | /** 33 | *

Constructor for GetClanInfo.

34 | * 35 | * @param apiVersion 36 | * a int 37 | * @param clanTag 38 | * a {@link java.lang.String} object 39 | */ 40 | public GetClanInfo(int apiVersion, String clanTag) { 41 | super(apiVersion, CocApiConstants.UF_COC_CLAN_INFO); 42 | property("clanTag", encode(clanTag)); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /protocols/valve/dota2/webapi/src/main/java/com/ibasco/agql/protocols/valve/dota2/webapi/requests/Dota2StreamRequest.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.dota2.webapi.requests; 18 | 19 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2ApiConstants; 20 | import com.ibasco.agql.protocols.valve.dota2.webapi.Dota2WebApiRequest; 21 | 22 | /** 23 | *

Abstract Dota2StreamRequest class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | abstract public class Dota2StreamRequest extends Dota2WebApiRequest { 28 | 29 | /** 30 | *

Constructor for Dota2StreamRequest.

31 | * 32 | * @param apiMethod 33 | * a {@link java.lang.String} object 34 | * @param apiVersion 35 | * a int 36 | * @param language 37 | * a {@link java.lang.String} object 38 | */ 39 | public Dota2StreamRequest(String apiMethod, int apiVersion, String language) { 40 | super(Dota2ApiConstants.DOTA2_INTERFACE_STREAMSYS, apiMethod, apiVersion, language); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/econitems/GetPlayerItems.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.econitems; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamEconItemsRequest; 21 | 22 | /** 23 | *

GetPlayerItems class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetPlayerItems extends SteamEconItemsRequest { 28 | 29 | /** 30 | *

Constructor for GetPlayerItems.

31 | * 32 | * @param appId 33 | * a int 34 | * @param steamId 35 | * a long 36 | * @param apiVersion 37 | * a int 38 | */ 39 | public GetPlayerItems(int appId, long steamId, int apiVersion) { 40 | super(appId, SteamApiConstants.STEAM_METHOD_ECONITEMS_GETPLAYERITEMS, apiVersion); 41 | urlParam(SteamApiConstants.STEAM_URLPARAM_STEAMID, steamId); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/player/GetCommunityBadgeProgress.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.player; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.requests.SteamPlayerServiceRequest; 20 | 21 | /** 22 | * Gets all the quests needed to get the specified badge, and which are completed 23 | * 24 | * @author Rafael Luis Ibasco 25 | */ 26 | public class GetCommunityBadgeProgress extends SteamPlayerServiceRequest { 27 | 28 | /** 29 | *

Constructor for GetCommunityBadgeProgress.

30 | * 31 | * @param apiVersion 32 | * a int 33 | * @param steamId 34 | * a long 35 | * @param badgeId 36 | * a int 37 | */ 38 | public GetCommunityBadgeProgress(int apiVersion, long steamId, int badgeId) { 39 | super("GetCommunityBadgeProgress", apiVersion); 40 | urlParam("steamid", steamId); 41 | urlParam("badgeid", badgeId); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /protocols/valve/steam/webapi/src/main/java/com/ibasco/agql/protocols/valve/steam/webapi/interfaces/storefront/GetFeaturedGames.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.protocols.valve.steam.webapi.interfaces.storefront; 18 | 19 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamApiConstants; 20 | import com.ibasco.agql.protocols.valve.steam.webapi.SteamStoreApiRequest; 21 | 22 | /** 23 | *

GetFeaturedGames class.

24 | * 25 | * @author Rafael Luis Ibasco 26 | */ 27 | public class GetFeaturedGames extends SteamStoreApiRequest { 28 | 29 | /** 30 | *

Constructor for GetFeaturedGames.

31 | * 32 | * @param apiVersion 33 | * a int 34 | * @param countryCode 35 | * a {@link java.lang.String} object 36 | * @param language 37 | * a {@link java.lang.String} object 38 | */ 39 | public GetFeaturedGames(int apiVersion, String countryCode, String language) { 40 | super(apiVersion, SteamApiConstants.SF_METHOD_FEATURED, countryCode, language); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /core/src/main/java/com/ibasco/agql/core/util/ImmutablePair.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2022 Asynchronous Game Query Library 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | * you may not use this file except in compliance with the License. 6 | * You may obtain a copy of the License at 7 | * 8 | * http://www.apache.org/licenses/LICENSE-2.0 9 | * 10 | * Unless required by applicable law or agreed to in writing, software 11 | * distributed under the License is distributed on an "AS IS" BASIS, 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | * See the License for the specific language governing permissions and 14 | * limitations under the License. 15 | */ 16 | 17 | package com.ibasco.agql.core.util; 18 | 19 | /** 20 | *

ImmutablePair class.

21 | * 22 | * @author Rafael Luis Ibasco 23 | */ 24 | public class ImmutablePair { 25 | 26 | private final A first; 27 | 28 | private final B second; 29 | 30 | /** 31 | *

Constructor for ImmutablePair.

32 | * 33 | * @param first 34 | * a A object 35 | * @param second 36 | * a B object 37 | */ 38 | public ImmutablePair(A first, B second) { 39 | this.first = first; 40 | this.second = second; 41 | } 42 | 43 | /** 44 | *

Getter for the field first.

45 | * 46 | * @return a A object 47 | */ 48 | public A getFirst() { 49 | return first; 50 | } 51 | 52 | /** 53 | *

Getter for the field second.

54 | * 55 | * @return a B object 56 | */ 57 | public B getSecond() { 58 | return second; 59 | } 60 | } 61 | --------------------------------------------------------------------------------