00001
00002
00004
00005 #if !defined(AFX_WXFLICKRDATA_H__F61B95D1_2CA6_4C32_97F2_90C2BAE966DC__INCLUDED_)
00006 #define AFX_WXFLICKRDATA_H__F61B95D1_2CA6_4C32_97F2_90C2BAE966DC__INCLUDED_
00007
00008
00009 #include <wx/wx.h>
00010 #include <wx/dynarray.h>
00011 #include <wx/image.h>
00012 #include <wx/url.h>
00013
00014
00015 #include "includes/tinyxml_2_4_2/tinyxml.h"
00016
00018 WX_DECLARE_STRING_HASH_MAP(wxString, StrStrHashMap);
00019
00022 class wxFlickrData : public wxObject {
00023 public:
00024 wxFlickrData();
00025 wxFlickrData(wxString sType);
00026 wxFlickrData(const wxFlickrData &data);
00027 wxFlickrData(TiXmlElement *pElement);
00028 virtual ~wxFlickrData();
00029 wxString GetData(wxString sKey);
00030 void AddData(wxString sKey, wxString sData);
00031 wxString GetType();
00032 virtual void LogDebug();
00033 virtual wxString ToString();
00034 private:
00035 wxString ToString(TiXmlElement *pElement);
00036 DECLARE_DYNAMIC_CLASS(wxFlickrData)
00037 TiXmlElement *m_pElement;
00038 };
00039
00042 class AuthData : public wxFlickrData {
00043 public:
00044 AuthData() {};
00045 AuthData(TiXmlElement *pElement) : wxFlickrData(pElement) {};
00046 virtual ~AuthData() {};
00047 void SetLoginLink(wxString sLoginLink);
00048 wxString GetLoginLink();
00049 void SetFrob(wxString sFrob);
00050 wxString GetFrob();
00051 void SetToken(wxString sToken);
00052 wxString GetToken();
00053 void SetPerms(wxString sPerms);
00054 wxString GetPerms();
00055 void SetNSID(wxString sNSID);
00056 wxString GetNSID();
00057 void SetUserName(wxString UserName);
00058 wxString GetUserName();
00059 void SetFullName(wxString sFullName);
00060 wxString GetFullName();
00061 private:
00062 DECLARE_DYNAMIC_CLASS(AuthData)
00063 };
00064
00066 class wxFlickrError : public wxFlickrData {
00067 public:
00068 wxFlickrError();
00069 ~wxFlickrError() {};
00070 void SetErrorMessage(wxString sMsg);
00071 wxString GetErrorMessage();
00072 void SetFlickrErrorCode(int iCode);
00073 int GetFlickrErrorCode();
00074 private:
00075 DECLARE_DYNAMIC_CLASS(wxFlickrError)
00076 int m_iFlickrErrCode;
00077 };
00078
00081 class wxFlickrPhoto : public wxFlickrData {
00082 public:
00083 wxFlickrPhoto();
00084 wxFlickrPhoto(const wxFlickrPhoto &photo);
00085 wxFlickrPhoto(TiXmlElement *pElement);
00086 virtual ~wxFlickrPhoto();
00087 void SetId(wxString sId);
00088 wxString GetId();
00089 void SetServerId(wxString sServerId);
00090 wxString GetServerId();
00091 void SetSecret(wxString sSecret);
00092 wxString GetSecret();
00093 void SetSize(wxString sSize);
00094 wxString GetSize();
00095 void SetOwner(wxString sOwner);
00096 wxString GetOwner();
00097 void SetTitle(wxString sTitle);
00098 wxString GetTitle();
00099 void SetPublic(bool bPublic);
00100 bool IsPublic();
00101 void SetFriend(bool bFriend);
00102 bool IsFriend();
00103 void SetFamily(bool bFamily);
00104 bool IsFamily();
00105
00106 bool Download(bool bReload = FALSE);
00107 bool IsDownloaded();
00108 wxFlickrError GetLastError();
00109 wxImage *GetImage();
00110 wxString GetURLString();
00111 private:
00112 DECLARE_DYNAMIC_CLASS(wxFlickrPhoto)
00113 bool m_bPublic;
00114 bool m_bFamily;
00115 bool m_bFriend;
00116 wxImage *m_pImage;
00117 wxFlickrError m_LastError;
00118 };
00119
00121 WX_DECLARE_OBJARRAY(wxFlickrPhoto, wxFlickrPhotoArray);
00122
00124 class PhotosData : public wxFlickrData {
00125 public:
00126 PhotosData();
00127 void AddPhoto(wxFlickrPhoto photo);
00128 wxFlickrPhotoArray GetPhotos();
00129 private:
00130 DECLARE_DYNAMIC_CLASS(PhotosData)
00131 wxFlickrPhotoArray m_PhotoArray;
00132 };
00133
00134 #endif // !defined(AFX_WXFLICKRDATA_H__F61B95D1_2CA6_4C32_97F2_90C2BAE966DC__INCLUDED_)