forked from bartsidee/boxee
/
GUIDialogBoxeeManualResolve.h
123 lines (91 loc) · 2.78 KB
/
GUIDialogBoxeeManualResolve.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#pragma once
#ifndef GUIDIALOGBOXEEMANUALRESOLVE_H_
#define GUIDIALOGBOXEEMANUALRESOLVE_H_
#include "GUIDialog.h"
#include "FileItem.h"
#include "Thread.h"
#include "GUIDialogBoxBase.h"
#include "FileSystem/FileCurl.h"
#include "MetadataResolverVideo.h"
class CLoadVideoFileContext : public IRunnable
{
public:
CLoadVideoFileContext (CVideoFileContext& videoFileContext,CFileItemPtr& videoItem,CFileItemList& videoParts);
virtual ~CLoadVideoFileContext() {}
virtual void Run();
CVideoFileContext& m_videoFileContext;
CFileItemPtr& m_videoItem;
CFileItemList& m_videoParts;
};
class CAddVideoBG : public IRunnable
{
public:
CAddVideoBG (const BOXEE::BXMetadata& resolvedVideoMetadata,const CVideoFileContext& videoFileContext,const CFileItemList& videoParts);
virtual ~CAddVideoBG() {}
virtual void Run();
bool AddVideo();
BOXEE::BXMetadata m_resolvedVideoMetadata;
CVideoFileContext m_videoFileContext;
CFileItemList m_videoParts;
};
class CGetResultListBG : public IRunnable
{
public:
CGetResultListBG(const CStdString& strTitle, CFileItemList& items);
virtual ~CGetResultListBG() {}
virtual void Run();
bool ParseResultListXml(const CStdString& strHtml, CFileItemList& items);
CStdString m_strTitle;
CFileItemList& m_items;
XFILE::CFileCurl m_http;
};
class CGetDetailsBG : public IRunnable
{
public:
CGetDetailsBG(CVideoFileContext& context, BOXEE::BXMetadata* pMetadata);
virtual ~CGetDetailsBG() {}
virtual void Run();
CVideoFileContext& m_context;
BOXEE::BXMetadata* m_pMetadata;
};
class CSendConfirmationBG : public IRunnable
{
public:
CSendConfirmationBG(CVideoFileContext& context);
virtual ~CSendConfirmationBG() {}
virtual void Run();
CVideoFileContext& m_context;
XFILE::CFileCurl m_http;
};
class CGUIDialogBoxeeManualResolve : public CGUIDialog
{
public:
CGUIDialogBoxeeManualResolve();
virtual ~CGUIDialogBoxeeManualResolve();
static bool Show(CFileItemPtr pItem);
virtual bool OnMessage(CGUIMessage &message);
virtual bool OnAction(const CAction &action);
protected:
void Reset();
virtual void OnInitWindow();
virtual void OnDeinitWindow(int nextWindowID);
bool GetList();
private:
bool IdentifyWithNFO();
bool ResolveVideo();
CFileItemPtr m_unresolvedVideoItem;
CFileItemPtr m_resolvedVideoItem;
BOXEE::BXMetadata m_resovedVideoMetadata;
BOXEE::BXMetadata m_episodeResolvedVideoMetadata;
CVideoFileContext m_videoFileContext;
CVideoFileContext m_episodeVideoFileContext;
// Items returned as a result list from the server
CFileItemList m_resultListItems;
// Item that the user has selected
CFileItemPtr m_selectedItem;
CFileItemList m_videoParts;
bool m_bConfirmed;
bool m_bUseNFO;
bool m_bSearched;
};
#endif /* GUIDIALOGBOXEEMANUALRESOLVE_H_ */