source: branches/CoreData/SapphireFrappliance/FRAppliance/SapphireApplianceController.h @ 557

Revision 557, 3.7 KB checked in by gbooker, 7 years ago (diff)

Numerous fixes. Importing now works; background importer is horribly broken (but can be fixed).

Line 
1/*
2 * SapphireApplianceController.h
3 * Sapphire
4 *
5 * Created by pnmerrill on Jun. 20, 2007.
6 * Copyright 2007 Sapphire Development Team and/or www.nanopi.net
7 * All rights reserved.
8 *
9 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
10 * General Public License as published by the Free Software Foundation; either version 3 of the License,
11 * or (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
14 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
15 * Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along with this program; if not,
18 * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19 */
20
21#import <SapphireCompatClasses/SapphireMediaMenuController.h>
22
23@class SapphireSettings, SapphireTheme, SapphireLeopardOnly, SapphireImporterDataMenu, SapphireBrowser;
24
25/*!
26 * @brief The Main Controller
27 *
28 * This class Is the main controller.  It uses SapphireMediaMenuController to create its main menu.
29 */
30@interface SapphireApplianceController : SapphireMediaMenuController
31{
32        NSManagedObjectContext          *moc;                                   /*!< @brief The context of metadata*/
33        NSMutableArray                          *names;                                 /*!< @brief The menu names, in order*/
34        NSMutableArray                          *controllers;                   /*!< @brief The controllers to launch from menu, in order*/
35        NSArray                                         *masterNames;                   /*!< @brief The list of all names, including hidden*/
36        NSArray                                         *masterControllers;             /*!< @brief The list of all controllers, including hidden*/
37        SapphireSettings                        *settings;                              /*!< @brief The settings*/
38        SapphireLeopardOnly                     *leoOnly;                               /*!< @brief Leopard only stuff*/
39        BOOL                                            mountsOnly;                             /*!< @brief YES if only display mounts*/
40}
41
42/*!
43 * @brief Get the current predicate used
44 *
45 * @return The current predicate
46 */
47+ (NSPredicate *)predicate;
48
49/*!
50 * @brief Change to the next predicate
51 *
52 * @return The next predicate
53 */
54+ (NSPredicate *)nextPredicate;
55
56/*!
57 * @brief Get the unwatched predicate
58 *
59 * @return The unwatched predicate
60 */
61+ (NSPredicate *)unwatchedPredicate;
62
63/*!
64 * @brief Get the favorite predicate
65 *
66 * @return The favorite predicate
67 */
68+ (NSPredicate *)favoritePredicate;
69
70/*!
71 * @brief Get the left icon for a given predicate
72 *
73 * @return The left icon
74 */
75+ (BRTexture *)gemForPredicate:(NSPredicate *)predicate;
76
77/*!
78 * @brief Log an exception to the console
79 *
80 * This function attempts to log an exception to the console.  If the exception has a nice backtrace, it logs that along with the location of the Sapphire bundle in memory.  If it does not, it logs the entire backtrace is hex addresses along with the location of all memory objects in the trace.  The idea being that with this information, in either format, the developer can use atos to get exact line numbers.
81 *
82 * @param e The exception to log
83 */
84+ (void)logException:(NSException *)e;
85
86/*!
87 * @brief Sets to display mounts only
88 *
89 * Sets this object to only display current mounts instead of the full menu
90 */
91- (void)setToMountsOnly;
92
93/*!
94 * @brief Get the tv browser
95 *
96 * Gets the browser for TV Shows
97 *
98 * @return The browser
99 */
100- (SapphireBrowser *)tvBrowser;
101
102/*!
103 * @brief Get the movie browser
104 *
105 * Gets the browser for movies
106 *
107 * @return The browser
108 */
109- (SapphireBrowser *)movieBrowser;
110
111/*!
112 * @brief Get the importer
113 *
114 * Gets the importer of all data
115 *
116 * @return The importer
117 */
118- (SapphireImporterDataMenu *)allImporter;
119
120/*!
121 * @brief Get the settings
122 *
123 * Gets the settings controller
124 *
125 * @return The settings controller
126 */
127- (SapphireSettings *)settings;
128@end
Note: See TracBrowser for help on using the repository browser.