sbDeviceCompatibility.cpp
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 #include "sbDeviceCompatibility.h"
28 
29 #include <nsComponentManagerUtils.h>
30 #include <nsServiceManagerUtils.h>
31 
33 
34 
38 #ifdef PR_LOGGING
39 static PRLogModuleInfo* gDeviceCompatibilityLog = nsnull;
40 #define TRACE(args) PR_LOG(gDeviceCompatibilityLog, PR_LOG_DEBUG, args)
41 #define LOG(args) PR_LOG(gDeviceCompatibilityLog, PR_LOG_WARN, args)
42 #else
43 #define TRACE(args) /* nothing */
44 #define LOG(args) /* nothing */
45 #endif /* PR_LOGGING */
46 
48 : mInitialized(PR_FALSE)
49 , mCompatibility(0)
50 , mUserPreference(0)
51 {
52 #ifdef PR_LOGGING
53  if (!gDeviceCompatibilityLog) {
54  gDeviceCompatibilityLog = PR_NewLogModule("sbDeviceCompatibility");
55  }
56 #endif
57  TRACE(("DeviceCompatibility[0x%.8x] - Constructed", this));
58 }
59 
61 {
62  TRACE(("DeviceCompatibility[0x%.8x] - Destructed", this));
63 }
64 
65 nsresult
66 sbDeviceCompatibility::Init(PRUint32 aCompatibility,
67  PRUint32 aUserPreference)
68 {
69  NS_ENSURE_FALSE(mInitialized, NS_ERROR_ALREADY_INITIALIZED);
70 
71  mInitialized = PR_TRUE;
72  mCompatibility = aCompatibility;
73  mUserPreference = aUserPreference;
74 
75  return NS_OK;
76 }
77 
78 /* readonly attribute unsigned long compatibility; */
79 NS_IMETHODIMP
80 sbDeviceCompatibility::GetCompatibility(PRUint32 *aCompatibility)
81 {
82  NS_ENSURE_ARG_POINTER(aCompatibility);
83  *aCompatibility = mCompatibility;
84  return NS_OK;
85 }
86 
87 /* readonly attribute unsigned long userPreference; */
88 NS_IMETHODIMP
89 sbDeviceCompatibility::GetUserPreference(PRUint32 *aUserPreference)
90 {
91  NS_ENSURE_ARG_POINTER(aUserPreference);
92  *aUserPreference = mUserPreference;
93  return NS_OK;
94 }
return NS_OK
NS_DECL_ISUPPORTS NS_DECL_SBIDEVICECOMPATIBILITY sbDeviceCompatibility()
NS_IMPL_THREADSAFE_ISUPPORTS1(sbDeviceCapsCompatibility, sbIDeviceCapsCompatibility) sbDeviceCapsCompatibility
#define TRACE(args)
nsresult Init(PRUint32 aCompatibility, PRUint32 aUserPreference)
[UNIMPLEMENTED UNTIL AFTER 0.3]