24 class IChannelListener;
26 class ICoreAPIListener;
27 class ChannelRepository;
30 class SettingRepository;
34 struct CoreAPIInternalData;
79 using LogInCallback = std::function<void(TTV_ErrorCode ec, const UserInfo& userInfo)>;
88 virtual std::string GetModuleName()
const override;
93 TTV_ErrorCode SetListener(std::shared_ptr<ICoreAPIListener> listener);
157 TTV_ErrorCode CreateChannelStatus(
UserId userId,
ChannelId channelId,
const std::shared_ptr<IChannelListener>& listener, std::shared_ptr<IChannelStatus>& result);
170 TTV_ErrorCode RegisterClient(std::shared_ptr<ICoreApiClient> client);
171 TTV_ErrorCode UnregisterClient(std::shared_ptr<ICoreApiClient> client);
173 TTV_ErrorCode SetGlobalSetting(
const std::string& key,
const std::string& value);
175 TTV_ErrorCode GetGlobalSetting(
const std::string& key, std::string& value);
199 virtual void OnUserAuthenticationIssue(
User* source, std::shared_ptr<const OAuthToken> oauthToken,
TTV_ErrorCode ec)
override;
212 void OnUserAuthenticationIssue(
User* source, std::shared_ptr<const OAuthToken> oauthToken,
TTV_ErrorCode ec);
215 virtual bool CheckShutdown()
override;
216 virtual void CompleteShutdown()
override;
218 TTV_ErrorCode DisposeChannelStatus(
const std::shared_ptr<IChannelStatus>& channelStatus);
220 void InitializeAnonymousUser();
std::shared_ptr< CoreAPIInternalData > mInternalData
Definition: coreapi.h:230
uint32_t UserId
Definition: coretypes.h:22
std::shared_ptr< UserRepository > mUserRepository
Definition: coreapi.h:224
TTV_ErrorCode GetClientId(std::string &clientId)
CoreAPI * mOwner
Definition: coreapi.h:202
std::shared_ptr< TrackingContext > mTrackingContext
Definition: coreapi.h:225
std::function< void(TTV_ErrorCode ec)> LogOutCallback
Definition: coreapi.h:80
CoreAPI * mOwner
Definition: coreapi.h:187
std::shared_ptr< UserListener > mUserListener
Definition: coreapi.h:226
std::function< void(TTV_ErrorCode ec, const StreamInfo &streamInfo)> FetchStreamInfoCallback
Definition: coreapi.h:78
virtual void CoreLocalLanguageChanged(const std::string &language)
std::function< void(TTV_ErrorCode ec)> InitializeCallback
Definition: module.h:48
Definition: userlistener.h:24
std::function< void(TTV_ErrorCode ec, const ChannelInfo &channelInfo)> FetchChannelInfoCallback
Definition: coreapi.h:77
JSON (JavaScript Object Notation).
Definition: adsapi.h:16
std::shared_ptr< ChannelRepository > mChannelRepository
Definition: coreapi.h:223
virtual std::string GetClientName()=0
Definition: coreapi.h:190
std::function< void(TTV_ErrorCode ec, const std::vector< ProfileImage > &images)> UploadProfileImageCallback
Definition: coreapi.h:81
std::shared_ptr< UserRepository > GetUserRepository() const
Definition: coreapi.h:95
std::shared_ptr< SettingRepository > mSettingRepository
Definition: coreapi.h:229
Definition: pubsubclient.h:86
uint32_t TTV_ErrorCode
Definition: errortypes.h:30
PubSubState
Definition: coretypes.h:152
virtual void CoreUserLoggedIn(std::shared_ptr< User > user)
std::shared_ptr< TaskRunner > mTaskRunner
Definition: coreapi.h:228
TTV_ErrorCode SetClientId(const std::string &clientId)
std::shared_ptr< SettingRepository > GetSettingRepository() const
Definition: coreapi.h:97
std::function< void(TTV_ErrorCode ec)> ShutdownCallback
Definition: module.h:49
std::shared_ptr< PubSubListener > mPubSubListener
Definition: coreapi.h:227
std::function< void(TTV_ErrorCode ec, const UserInfo &userInfo)> LogInCallback
Definition: coreapi.h:79
std::vector< std::shared_ptr< ICoreApiClient > > mApiClients
Definition: coreapi.h:232
std::shared_ptr< TrackingContext > GetTrackingContext() const
Definition: coreapi.h:98
uint32_t ChannelId
Definition: coretypes.h:23
std::function< void(TTV_ErrorCode ec, const UserInfo &userInfo)> FetchUserInfoCallback
Definition: coreapi.h:76
virtual void GetRequiredOAuthScopes(std::vector< std::string > &scopes)
virtual void CoreUserLoggedOut(std::shared_ptr< User > user)
Definition: pubsubclient.h:107
Definition: coreapi.h:178
std::shared_ptr< ChannelRepository > GetChannelRepository() const
Definition: coreapi.h:96
std::string mLocalLanguage
Definition: coreapi.h:233