mirror of
https://github.com/SWG-Source/stationapi.git
synced 2026-01-16 23:04:18 -05:00
Added udplibrary - consider making this an external dependency Add basic application loop and a ServiceContainer class. Added basic registrar service Clang format Rename RegistrarService to RegistrarNode Add serialization helpers Process GetChatServer message Add tools for streaming binary data to output Move Connection management into NodeClient Refactored NodeClient to be the layer between the application and the udp library that handles tasks specific to translating from one system to the other Abstracted common bits of the node class out to a reusable base for the gateway as well. Added stub classes for gateway node and clients Add missing OnTick call Added SetApiVersion handler and related messages Use :: to prevent the overload selected by argument dependent lookup from being used Enable C++14 building on gcc/clang Add missing header Iterator returned by remove_if should not be a ref Added start of ChatAvatarService Add serialization support directly for strongly typed enums Make sending message calls more concise Add stubs for getting avatars from the online list and from persistent storage Add SQLite3 dependency Fixed variable name regression in last commit Make param for SendMessage const Tweak network message logging Removed ServiceContainer, each Node instance serves as its own "service container" Remove unused file Open database connection in GatewayNode to pass to services that might need it. GetPersistedAvatarByNameAndAddress implemented Refactored class to return boost::optional from "Find" member functions. Move result codes enum to its own header as it will be included in other locations. Handle LoginAvatar messages Added missing include Fixed compile error on gcc Use optional avatar arguments for network messages where an avatar might not exist due to an error Added simple sql script for creating the necessary table structure. Move init_database.sql to extras Add a travis-ci file Added newline to end of file Changed min required cmake version Modern C++ compiler support on travis-ci Disable clang for now (issue on travis-ci end) Missed disabling the llvm toolchain Add the travis-ci build badge to the README, which also serves as the project landing page Added a notes on the dependencies for swgchat and simple build instructions. Added ChatRoom and related service class for managing rooms. Added GetRoomSummaries request/response messages and related handler. Added create table statement for room data Load chat room data from persistent storage Support room creation and persistence Minor tweaks to room address handling Added GetRoom request/response messages and handler Added EnterRoom request/response and handler Build the application configuration from command line, config file or both. Command line settings take precidence over those in the config file. Adds dependency on boost::program_options Use trusty Reset state when servers reconnect Added logger support via easyloggingpp, a header-only logger. Updated places that were using cout for logging to use the logger. Moved all external code to an "externals" directory. Renamed SendMessage to prevent pita clashes when windows headers get included. Create verbose logs with unique filenames on each run. Moved the logger_config option to a commandline only option Added LOGOUTAVATAR request/response messages and handler Added SETAVATARATTRIBUTES request/response messages and handler Added stub classes for persistent message handling Added GETPERSISTENTHEADERS request message and handler stub Add a table for persistent message storage Add handler for GetPersistentHeaders Add messages and handlers for sending/getting/updating persistent messages Fix isset check for avatar Adding initial Contact management Added support for friend/ignore list management Add a response callback message to notify recipients of mail they have a new message Remove the ContactService, manage friends/ignore list within the related avatar Send FRIENDLOGIN update messages Removed contact.hpp header, fixed cyclic dependency with ChatAvatar Send updates on avatar logout Only send non-deleted message headers. Send update messages to the appropriately connected server. fix compile issue in currently unused template Added instant message support Testing travis-ci with clang once more as the llvm apt repo is now back online Uncommented clang-3.7 package Adding libc++ and libc++abi packages Disabling clang building for now, will need to devise a solution for building the boost dependency with clang as well before enabling again Added implementations for a number of room related messages. Handle add/remove banned - will add persistence for the banned/admin/moderator lists shortly Handle room chat. Initial work on room moderation/attribute management Added support for destroying rooms Message sending tweaks Prevent sending redundant messages to a game server that has already received the update. Implement the leave room handler Added add/remove moderator handlers Added descriptive comment for this member func Specified unique columns and foreign keys Handle storing moderator/banned lists Cleanup of the EnterRoom handler Avatar that creates a room is also a moderator Restructure projects for testing Moved all code not relating to the app lifetime to a library so it can be easily linked to for testing In addition, the initial setup for tests using the Catch library was created Add a general handler to orchestrate the request/response process. This pulls all the duplicate code for setup/teardown/message handling leaving the message handlers to be simpler and easier to take in. Moving each request/response/handler set to its own compilation unit to make it easier to find and read them. Moved LogoutAvatar to its own compilation unit Moved CreateRoom to its own compilation unit Moved DestroyRoom to its own compilation unit Moved SendInstantMessage to own compilation unit Also added a basic info log for each incoming request received. Moved SendRoomMessage to its own compilation unit Moved AddFriend handling to its own compilation unit Moved RemoveFriend handling to its own compilation unit Moved FriendStatus handling to its own compilation unit Moved AddIgnore handling to its own compilation unit Moved RemoveIgnore to its own compilation unit Moved EnterRoom handling to its own compilation unit Moved LeaveRoom handling to its own compilation unit Move AddModerator to its own compilation unit Moved RemoveModerator to its own compilation unit Moved add/remove banned handlers to own compilation unit Move Add/Remove invite handlers to own compilation unit Move GetRoom handler to own compilation unit Moved GetRoomSummaries handler to own compilation unit Moved persistent message handlers to own compilation unit Moved IgnoreStatus to own compilation unit Move SetApiVersion handler to own compilation unit Moved GetAnyAvatar and SetAvatarAttributes handlers to own compilation units Moving remaining messages to own compilation units Moved request/response enums to the ChatEnum header Fix typename issue Fixed source grouping helper Load up a galaxies rooms when system user logs in Use stringstreams vs static array As more rooms and more players are added, the buffer holding the serialized data needs to be able to expand accordingly, this fix addresses that throw appropriate exceptions from the message service ChatAvatar tracks rooms they are in now LogoutAvatar now removes avatar from all rooms they are joined to currently. Add appropriate checks for managing the room String version of error codes are now logged instead of just integer codes Implement kick avatar Fixes potential crash when the vector of rooms is resized (could invalidate pointers into the container) fix for persistent message oob storage Support for destroying avatars Fixed unsigned/signed mismatch Support failoverreloginavatar Replace wstring usage (which has a base type of wchar_t that is OS specific) with u16string which has a base type of uchar16_t that is guaranteed to be 16bit, exactly the size needed by the SOE protocol. Fix issue with streaming u16string types Remove udplibrary source from codebase Ignore the udplibrary dir if it exists
2 lines
46 B
C++
2 lines
46 B
C++
#define CATCH_CONFIG_MAIN
|
|
#include "catch.hpp" |