All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
IPlatformAbstractionModule.h
1 // Copyright eeGeo Ltd (2012-2014), All Rights Reserved
2 
3 #pragma once
4 
5 #include "Types.h"
6 #include "Helpers.h"
7 #include "Web.h"
8 #include "UrlHelpers.h"
9 #include "Location.h"
10 #include "IGlTaskContextFactory.h"
11 #include "IConnectivityService.h"
12 #include "IWorkPool.h"
13 #include "ISceneBuilderModuleFactory.h"
14 #include "AsyncTexturing.h"
15 
16 namespace Eegeo
17 {
18  namespace Modules
19  {
21  {
22  public:
23  virtual ~IPlatformAbstractionModule() {}
24  virtual Helpers::ITextureFileLoader& GetTextureFileLoader() const = 0;
25  virtual Web::IWebLoadRequestFactory& GetWebLoadRequestFactory() const = 0;
26  virtual Web::IWebLoadRequestFactory& GetPlatformWebLoadRequestFactory() const = 0;
27  virtual Web::IWebProxySettings& GetProxySettings() const = 0;
28  virtual Web::ISSLSettings& GetSSLSettings() const = 0;
29  virtual Helpers::IHttpCache& GetHttpCache() const = 0;
30  virtual Helpers::IFileIO& GetFileIO() const = 0;
31  virtual Helpers::UrlHelpers::IUrlEncoder& GetUrlEncoder() const = 0;
32  virtual Eegeo::Web::IConnectivityService& GetConnectivityService() const = 0;
33  virtual Concurrency::Tasks::IWorkPool& GetWorkPool() const = 0;
34  virtual ISceneBuilderModuleFactory& GetSceneBuilderModuleFactory() = 0;
35  virtual Rendering::AsyncTexturing::ITextureFactory& GetTextureFactory() const = 0;
36 
37  virtual void OnPause() = 0;
38  virtual void Update() = 0;
39  virtual void OnResume(){}
40  };
41  }
42 }