dbg.h file is removed.
[profile/tv/apps/native/source.git] / src / mgr / SourceInfo.cpp
1 /*
2  * Copyright (c) 2014 Samsung Electronics Co., Ltd.
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 #include <stdio.h>
18 #include <string.h>
19 #include <AppCommon.h>
20 #include "external.h"
21 #include "SourceInfo.h"
22 #include "external.h"
23 #include "usb.h"
24
25
26 #define ICON_PATH_USB           IMAGEDIR"/ico_usb.png"
27 #define ICON_PATH_TV            IMAGEDIR"/ico_antenna.png"
28 #define ICON_PATH_SVIDEO        IMAGEDIR"/ico_svideo.png"
29 #define ICON_PATH_COMP          IMAGEDIR"/ico_component.png"
30 #define ICON_PATH_HDMI          IMAGEDIR"/ico_hdmi.png"
31 #define ICON_PATH_DVI           IMAGEDIR"/ico_dsub.png"
32 #define ICON_PATH_NAS           IMAGEDIR"/ico_nas.png"
33 #define ICON_PATH_MOBILE        IMAGEDIR"/ico_mobile.png"
34 #define ICON_PATH_CONSOLE       IMAGEDIR"/ico_console.png"
35 #define ICON_PATH_SETTOP        IMAGEDIR"/ico_settop.png"
36
37
38 CSourceInfo::CSourceInfo()
39 {
40         m_nId = 0;
41         m_nType = CONN_TYPE_TV;
42         m_pName = NULL;
43         m_pTypeName = NULL;
44         m_pData = NULL;
45 }
46
47 void CSourceInfo::SetId(int nId)
48 {
49         m_nId = nId;
50 }
51
52 int CSourceInfo::Id(void)
53 {
54         return m_nId;
55 }
56
57 void CSourceInfo::SetType(int nType)
58 {
59         m_nType = nType;
60 }
61
62 int CSourceInfo::Type(void)
63 {
64         return m_nType;
65 }
66
67 void CSourceInfo::SetName(const char *pName)
68 {
69         delete[] m_pName;
70         m_pName = new char[strlen(pName) + 1];
71         if (!m_pName)
72                 return;
73         strcpy(m_pName, pName);
74 }
75
76 const char *CSourceInfo::Name(void)
77 {
78         return m_pName;
79 }
80
81 void CSourceInfo::SetTypeName(const char *pTypeName)
82 {
83         delete[] m_pTypeName;
84         m_pTypeName = new char[strlen(pTypeName) + 1];
85         if (!m_pTypeName)
86                 return;
87         strcpy(m_pTypeName, pTypeName);
88 }
89
90 const char *CSourceInfo::TypeName(void)
91 {
92         return m_pTypeName;
93 }
94
95 void CSourceInfo::SetData(void *pData)
96 {
97         m_pData = pData;
98 }
99
100
101 void* CSourceInfo::Data(void)
102 {
103         return m_pData;
104 }
105
106
107 const char *CSourceInfo::IconPath(void)
108 {
109         switch (m_nType) {
110         case CONN_TYPE_USB:
111                 return ICON_PATH_USB;
112         case CONN_TYPE_TV:
113                 return ICON_PATH_TV;
114         case CONN_TYPE_AV1:
115         case CONN_TYPE_AV2:
116         case CONN_TYPE_AV3:
117         case CONN_TYPE_SVIDEO1:
118         case CONN_TYPE_SVIDEO2:
119         case CONN_TYPE_SVIDEO3:
120                 return ICON_PATH_SVIDEO;
121         case CONN_TYPE_COMP1:
122         case CONN_TYPE_COMP2:
123         case CONN_TYPE_COMP3:
124                 return ICON_PATH_COMP;
125         case CONN_TYPE_HDMI1:
126         case CONN_TYPE_HDMI2:
127         case CONN_TYPE_HDMI3:
128         case CONN_TYPE_HDMI4:
129                 return ICON_PATH_HDMI;
130         case CONN_TYPE_DVI1:
131         case CONN_TYPE_DVI2:
132         case CONN_TYPE_DVI3:
133                 return ICON_PATH_DVI;
134         case CONN_TYPE_WIFI:
135         case CONN_TYPE_WIFI_DIRECT:
136         case CONN_TYPE_LAN:
137                 return ICON_PATH_NAS;
138         default:
139                 return NULL;
140         }
141 }
142
143
144
145 bool CSourceInfo::SwitchTo(void)
146 {
147         switch (m_nType) {
148         case CONN_TYPE_USB:
149                 return CUsb::SwitchTo();
150         case CONN_TYPE_TV:
151                 return CExternal::SwitchTo(CONN_TYPE_TV);
152         default:
153                 return false;
154         }
155 }