You.i Engine
YiImageDownloadListItem.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_IMAGE_DOWNLOAD_LIST_ITEM_H_
3 #define _YI_IMAGE_DOWNLOAD_LIST_ITEM_H_
4 
8 #include "network/YiUrl.h"
9 
10 class CYIImageView;
11 
12 namespace yi
13 {
14 
20 namespace deprecated
21 {
22 
33 {
34 public:
39  virtual ~CYIImageDownloadListItem();
40 
41 protected:
47  virtual void LoadIn() override;
53  virtual void LoadOut() override;
59  virtual void StreamIn() override;
63  virtual const CYIUrl GetImageURL() = 0;
67  virtual CYIImageView *GetImageView() = 0;
77  virtual void OnImageSet();
81  virtual void OnImageDownloadFailed(const CYIString &rError);
82 
83 private:
84  void StartDownload();
85  void CancelDownload();
86  void SetImage();
87  void AssetReady(const std::shared_ptr<CYIAsset> &pTex, const CYIUrl &url);
88  void AssetDownloadFailed(CYIAssetDownloadHelper::FAILURE_TYPE eFailureType, const CYIUrl &url);
89 
90  CYIAssetDownloadHelper m_imageDownloader;
91  std::shared_ptr<CYIAssetTextureBase> m_pTexture;
92 };
93 
94 } // namespace deprecated
95 
100 } // namespace yi
101 
102 #endif
Definition: YiAbstractSignalTransition.h:7
DOWNLOAD_STATE
Definition: YiAssetDownloadHelper.h:26
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
A simple view which downloads and renders images.
Definition: YiImageView.h:98
CYIAssetDownloadHelper::DOWNLOAD_STATE GetDownloadState() const
virtual const CYIUrl GetImageURL()=0
virtual CYIImageView * GetImageView()=0
virtual void OnImageDownloadFailed(const CYIString &rError)
A class used to encapsulate an URL.
Definition: YiUrl.h:24
An extension of CYIListItem which assists in using downloaded images in a CYIListView.
Definition: YiImageDownloadListItem.h:32
A download helper class used for downloading assets off of web servers.
Definition: YiAssetDownloadHelper.h:23
Logical representation of a view within yi::deprecated::CYIListView.
Definition: YiListItem.h:46
FAILURE_TYPE
Definition: YiAssetDownloadHelper.h:32