Menu
Home
Blog
Add-ons
Forum
Wiki
Developers
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
components
intl
src
sbArticlesData.h
Go to the documentation of this file.
1
/*
2
//
3
// BEGIN SONGBIRD GPL
4
//
5
// This file is part of the Songbird web player.
6
//
7
// Copyright(c) 2005-2008 POTI, Inc.
8
// http://songbirdnest.com
9
//
10
// This file may be licensed under the terms of of the
11
// GNU General Public License Version 2 (the "GPL").
12
//
13
// Software distributed under the License is distributed
14
// on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either
15
// express or implied. See the GPL for the specific language
16
// governing rights and limitations.
17
//
18
// You should have received a copy of the GPL along with this
19
// program. If not, go to http://www.gnu.org/licenses/gpl.html
20
// or write to the Free Software Foundation, Inc.,
21
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22
//
23
// END SONGBIRD GPL
24
//
25
*/
26
27
#ifndef __SB_ARTICLESDATA_H__
28
#define __SB_ARTICLESDATA_H__
29
30
#include <nsAutoPtr.h>
31
#include <nsTArray.h>
32
#include <nsIObserver.h>
33
#include <nsStringGlue.h>
34
35
class
sbArticlesData
36
{
37
friend
class
sbArticlesDataObserver
;
38
public
:
39
sbArticlesData
();
40
41
nsresult
Init
();
42
43
static
nsresult
RemoveArticles
(
const
nsAString & aInput,
44
const
nsAString & aLanguage,
45
nsAString &_retval);
46
47
static
nsresult
EnsureLoaded
();
48
49
protected
:
50
~sbArticlesData
();
51
52
nsresult
LoadArticles
();
53
nsresult
UnloadArticles
();
54
55
private
:
56
class
sbArticle :
public
nsISupports
{
57
public
:
58
sbArticle(
const
nsAString &aPrefix,
59
const
nsAString &aSuffix) :
60
mPrefix(aPrefix),
61
mSuffix(aSuffix) {}
62
virtual
~sbArticle() {}
63
NS_DECL_ISUPPORTS
64
nsString mPrefix;
65
nsString mSuffix;
66
};
67
class
sbArticleLanguageData :
public
nsISupports
{
68
public
:
69
sbArticleLanguageData(
const
nsAString &aLanguage,
70
const
nsTArray<nsRefPtr<sbArticle> > &aArticles) :
71
mLanguage(aLanguage),
72
mArticles(aArticles) {}
73
~sbArticleLanguageData() {}
74
NS_DECL_ISUPPORTS
75
nsString mLanguage;
76
nsTArray<nsRefPtr<sbArticle> > mArticles;
77
};
78
static
nsresult AddObserver();
79
static
nsresult RemoveObserver();
80
nsresult ParsePattern(
const
nsAString &aPattern,
81
nsAString &aPrefix,
82
nsAString &aSuffix);
83
84
nsresult _RemoveArticles(
const
nsAString & aInput,
85
const
nsAString & aLanguage,
86
nsAString &_retval);
87
88
nsresult RemoveArticle(
const
nsAString & aInput,
89
const
sbArticle * aArticle,
90
nsAString &_retval);
91
92
PRBool mArticlesLoaded;
93
nsTArray<nsRefPtr<sbArticleLanguageData> > mLanguages;
94
};
95
96
class
sbArticlesDataObserver
:
public
nsIObserver
97
{
98
public
:
99
sbArticlesDataObserver
() {}
100
virtual
~sbArticlesDataObserver
() {}
101
102
NS_DECL_ISUPPORTS
103
NS_DECL_NSIOBSERVER
104
105
private
:
106
};
107
108
#endif
/* __SB_ARTICLESDATA_H__ */
sbArticlesDataObserver
Definition:
sbArticlesData.h:96
nsIObserver
nsIObserver
Definition:
sbLocalDatabaseLibrary.cpp:531
sbArticlesData::sbArticlesData
sbArticlesData()
sbArticlesDataObserver::sbArticlesDataObserver
sbArticlesDataObserver()
Definition:
sbArticlesData.h:99
sbArticlesData::EnsureLoaded
static nsresult EnsureLoaded()
Definition:
sbArticlesData.cpp:340
sbArticlesDataObserver::~sbArticlesDataObserver
virtual ~sbArticlesDataObserver()
Definition:
sbArticlesData.h:100
sbArticlesData::LoadArticles
nsresult LoadArticles()
Definition:
sbArticlesData.cpp:116
sbArticlesData::Init
nsresult Init()
Definition:
sbArticlesData.cpp:68
sbArticlesData::~sbArticlesData
~sbArticlesData()
Definition:
sbArticlesData.cpp:63
NS_DECL_ISUPPORTS
NS_DECL_ISUPPORTS
Definition:
sbPlaylistCommandsHelper.cpp:49
sbArticlesData
Definition:
sbArticlesData.h:35
nsISupports
nsISupports
Definition:
sbRemoteIndexedMediaItem.cpp:61
sbArticlesData::UnloadArticles
nsresult UnloadArticles()
Definition:
sbArticlesData.cpp:309
sbArticlesData::RemoveArticles
static nsresult RemoveArticles(const nsAString &aInput, const nsAString &aLanguage, nsAString &_retval)
Definition:
sbArticlesData.cpp:352