sbFileSystemTreeListener.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-2009 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 sbFileSystemTreeListener_h_
28 #define sbFileSystemTreeListener_h_
29 
30 #include <nsStringAPI.h>
31 #include <nsTArray.h>
32 
33 typedef nsTArray<nsString> sbStringArray;
34 
35 
36 //
37 // \brief Enum for node change types used when diffing snapshots of nodes.
38 //
39 typedef enum {
40  eChanged = 0,
41  eAdded = 1,
42  eRemoved = 2,
43 } EChangeType;
44 
45 
46 //------------------------------------------------------------------------------
47 // A pure virtual class for listening to tree events.
48 //------------------------------------------------------------------------------
50 {
51 public:
53  //
54  // \brief Callback function for when changes are found in the tree.
55  //
56  NS_IMETHOD OnChangeFound(const nsAString & aChangePath,
57  EChangeType aChangeType) = 0;
58 
59  //
60  // \brief Callback function for when the tree has been full intialized.
61  // \param aDirPathArray A string array containing all the directory paths
62  // that were discovered during the initial build.
63  // NOTE: This does not include the root directory.
64  //
65  NS_IMETHOD OnTreeReady(const nsAString & aTreeRootPath,
66  sbStringArray & aDirPathArray) = 0;
67 
68  //
69  // \brief Callback method when the tree can not build itself at the
70  // specified root path.
71  //
72  NS_IMETHOD OnRootPathMissing() = 0;
73 
74  //
75  // \brief Callback function for when a tree failed to de-serialize. When
76  // this method is sent, the tree is in a non-initialized state and
77  // will need to be re-initialized in order to become active.
78  //
79  NS_IMETHOD OnTreeSessionLoadError() = 0;
80 };
81 
82 #endif // sbFileSystemTreeListener_h_
83 
NS_IMETHOD OnTreeSessionLoadError()=0
nsTArray< nsString > sbStringArray
NS_IMETHOD OnRootPathMissing()=0
NS_IMETHOD OnTreeReady(const nsAString &aTreeRootPath, sbStringArray &aDirPathArray)=0
NS_IMETHOD OnChangeFound(const nsAString &aChangePath, EChangeType aChangeType)=0