Removes OnlineUtilityThread.h and UserServiceTypes.h from GridMate

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
This commit is contained in:
Esteban Papp
2021-12-03 18:35:12 -08:00
parent dda3dec735
commit ce4ebc57c9
3 changed files with 0 additions and 209 deletions
@@ -1,93 +0,0 @@
/*
* Copyright (c) Contributors to the Open 3D Engine Project.
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
/**
* @file
* Provides EBus definitions for getting the utility thread tick
*/
#ifndef ONLINE_UTILITY_THREAD_H
#define ONLINE_UTILITY_THREAD_H
#include <GridMate/EBus.h>
#include <AzCore/std/parallel/mutex.h>
/**
* IMPORTANT NOTE TO SERVICES THAT USE THE UTILITY THREAD:
* The online service will start ticking the utility thread at construction
* time, but you have have to let it know when you need to be ticked. This
* is done two ways: first, send the NotifyOfNewWork event to the
* OnlineUtilityThreadCommandBus; second, return whether you still have
* work to do in OnlineUtilityThreadNotificationBus's event
* IsThereUtilityThreadWork. There, however, caveats the service
* must be aware of.
* - For those that derive from OnlineUtilityNotificationBus::Handler,
* do your BusConnect and BusDisConnect calls in your Init and Shutdown
* calls, instead of at construction and destruction time. You shouldn't
* be trying to use this utility thread outside of the time between these
* calls to your service anyway, so this shouldn't cause any amount of
* headache to conform to.
* - When you call BusConnect and BusDiscconect, the online manager may
* already be ticking that event - you may or may not receive your first
* and/or last tick events the way you might expect, so be careful about
* how you do you initialization and shutdown procedures.
* - Your Init call should do as little work as possible. Set yourself up for
* being ready to do actual initialization the first time you receive the
* OnUtilityThreadTick event instead of doing it all in Init and blocking
* the main thread.
* - Your Shutdown call should abort any pending operations, including ones
* it's already in the middle of.
* - In your OnUtilityThreadTick event response, make sure you haven't already
* been told to shut down. This is because the Shutdown call may have been
* made soon after the OnUtilityThreadTick event was fired, and other
* services took up a fair amount of time before the event got to you (with
* the Shutdown call to your service being made between event-firing and
* when the event reached you).
* - Be VERY careful about Shutdown getting called before you finish
* initializing in the utility thread (or even get a change to)! If you
* use this utility thread, be sure to test whether you can shutdown
* immediately after being initialized without breaking anything.
*/
namespace GridMate
{
//-------------------------------------------------------------------------
// For ticking services that need a separate thread (outbound)
// - BusConnect to OnlineUtilityThreadNotificationBus::Handler to receive OnUtilityThreadTick
// - Return whether you have work left to do in IsThereWork
//-------------------------------------------------------------------------
class OnlineUtilityThreadNotifications
: public GridMateEBusTraits
{
public:
virtual ~OnlineUtilityThreadNotifications() {}
// Called on each iteration of the online manager's utility thread loop
virtual void OnUtilityThreadTick() = 0;
// Return whether there's work left to do here to keep the thread from doing busy waiting
virtual bool IsThereUtilityThreadWork() = 0;
};
typedef AZ::EBus<OnlineUtilityThreadNotifications> OnlineUtilityThreadNotificationBus;
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
// For services that need a separate thread (inbound)
// - Fire the NotifyOfNewWork event to notify the thread that you have a new
// request you'd like to take care of
//-------------------------------------------------------------------------
class OnlineUtilityThreadCommands
: public GridMateEBusTraits
{
public:
virtual ~OnlineUtilityThreadCommands() {}
virtual void NotifyOfNewWork() = 0;
};
typedef AZ::EBus<OnlineUtilityThreadCommands> OnlineUtilityThreadCommandBus;
//-------------------------------------------------------------------------
} // namespace GridMate
#endif // ONLINE_UTILITY_THREAD_H
@@ -1,114 +0,0 @@
/*
* Copyright (c) Contributors to the Open 3D Engine Project.
* For complete copyright and license terms please see the LICENSE at the root of this distribution.
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#ifndef GM_USER_SERVICE_TYPES_H
#define GM_USER_SERVICE_TYPES_H
#include <GridMate/Types.h>
namespace GridMate
{
/**
* User signin state
*/
enum OLSSigninState
{
OLS_SigninUnknown,
OLS_NotSignedIn, // There is no user signed in
OLS_SignedInOffline, // User signed in without online capabilities
OLS_SignedInOnline, // User signed in with online capabilities
OLS_SigningOut, // User is in the process of signing out
};
/**
* service network state
*/
enum OLSOnlineState
{
OLS_OnlineUnknown,
OLS_NoNetwork, // No NIC or network is unplugged
OLS_Offline, // No online access
OLS_Online, // Has online access
};
/**
* Supported privilege types
*/
enum OLSUserPrivilege
{
OLS_UserPrivilegeMP,
OLS_UserPrivilegeRecordDVR,
OLS_UserPrivilegePurchaseContent,
OLS_UserPrivilegeVoiceChat,
OLS_UserPrivilegeLeaderboards
};
/**
* Base class for platform dependent player id.
*/
struct PlayerId
{
PlayerId(ServiceType serviceType)
: m_serviceType(serviceType) {}
virtual ~PlayerId() {}
// Compare 2 PlayerId IDs
virtual bool Compare(const PlayerId& userId) const = 0;
// Returns a printable string representation of the id.
virtual gridmate_string ToString() const = 0;
ServiceType GetType() const { return m_serviceType; }
protected:
ServiceType m_serviceType;
};
/**
* Interface class for a local player/member.
*/
class ILocalMember
{
public:
virtual ~ILocalMember() {}
// SignIn
virtual OLSSigninState GetSigninState() const = 0;
virtual const PlayerId* GetPlayerId() const = 0;
// Pad number / info ???
virtual unsigned int GetControllerIndex() const = 0;
virtual const char* GetName() const = 0;
virtual bool IsGuest() const = 0;
// Friends List
virtual void RefreshFriends() = 0;
virtual bool IsFriendsListRefreshing() const = 0;
virtual unsigned int GetFriendsCount() const = 0;
virtual const char* GetFriendName(unsigned int idx) const = 0;
virtual const PlayerId* GetFriendPlayerId(unsigned int idx) const = 0;
virtual OLSSigninState GetFriendSigninState(unsigned int idx) const = 0;
virtual bool IsFriendPlayingTitle(unsigned int idx) const = 0;
virtual const char* GetFriendPresenceDetails(unsigned int idx) const = 0;
virtual bool IsFriendsWith(const PlayerId* playerId) const = 0;
};
/**
* Generic invite structure
* pPlatformSpecific contains the native structure used by each platform
*/
struct InviteInfo
{
InviteInfo()
: m_localMember(nullptr) {}
ILocalMember* m_localMember;
};
} // namespace GridMate
#endif // GM_USER_SERVICE_TYPES_H
#pragma once
@@ -39,8 +39,6 @@ set(FILES
Containers/unordered_map.h
Containers/unordered_set.h
Containers/vector.h
Online/OnlineUtilityThread.h
Online/UserServiceTypes.h
Replica/BasicHostChunkDescriptor.h
Replica/DeltaCompressedDataSet.h
Replica/DataSet.cpp