18 * class is mandatory before using any other interface. |
18 * class is mandatory before using any other interface. |
19 * |
19 * |
20 */ |
20 */ |
21 |
21 |
22 #include <qdebug.h> |
22 #include <qdebug.h> |
|
23 #include <smfcredmgrclient.h> |
23 |
24 |
24 #include "smfclient.h" |
25 #include "smfclient.h" |
25 #include "smfclient_p.h" |
26 #include "smfclient_p.h" |
26 |
27 |
27 SmfClient::SmfClient() |
28 SmfClient::SmfClient() |
28 { |
29 { |
29 //Create instance of the private wrapper |
30 //Create instance of the private wrapper |
30 m_private = new SmfClientPrivate(this); |
31 m_private = new SmfClientPrivate(this); |
31 m_providerList = NULL; |
32 m_providerList = NULL; |
|
33 m_authAppProcess = NULL; |
32 } |
34 } |
33 |
35 |
34 SmfClient::~SmfClient() |
36 SmfClient::~SmfClient() |
35 { |
37 { |
36 if(m_private) |
38 if(m_private) |
37 { |
39 { |
38 delete m_private; |
40 delete m_private; |
39 m_private = NULL; |
41 m_private = NULL; |
40 } |
42 } |
|
43 |
|
44 if(m_authAppProcess) |
|
45 delete m_authAppProcess; |
41 } |
46 } |
42 |
47 |
43 QList<SmfProvider>* SmfClient::GetServices(const QString& serviceName) |
48 QList<SmfProvider>* SmfClient::GetServices(const QString& serviceName) |
44 { |
49 { |
45 qDebug()<<"Inside SmfClient::GetServices()"; |
50 qDebug()<<"Inside SmfClient::GetServices()"; |
46 |
51 |
47 if(m_providerList) |
52 //if serviceName is not empty |
|
53 if(serviceName.size()) |
48 { |
54 { |
49 delete m_providerList; |
55 if(m_providerList) |
50 m_providerList = NULL; |
56 { |
|
57 delete m_providerList; |
|
58 m_providerList = NULL; |
|
59 } |
|
60 //Getting the data synchronously |
|
61 m_providerList = m_private->GetServices(serviceName); |
|
62 qDebug()<<"After m_private->GetServices"; |
|
63 |
|
64 return m_providerList; |
51 } |
65 } |
52 //Getting the data synchronously |
66 else |
53 m_providerList = m_private->GetServices(serviceName); |
67 return NULL; |
54 qDebug()<<"After m_private->GetServices"; |
68 } |
55 |
69 |
56 return m_providerList; |
70 SMFProviderAuthorizationStatus SmfClient::checkAuthorization(const SmfProvider& provider) |
57 } |
71 { |
58 |
72 SMFProviderAuthorizationStatus status = SMFProviderAuthStatusUnknown; |
|
73 if(!provider.authenticationAppId().isEmpty()) |
|
74 { |
|
75 SmfCredMgrClient csmClient; |
|
76 QString authAppId = provider.authenticationAppId(); |
|
77 if(csmClient.CheckServiceAuthorization(authAppId)) |
|
78 status = SMFProviderAuthStatusAuthorised; |
|
79 else |
|
80 status = SMFProviderAuthStatusUnauthorised; |
|
81 } |
|
82 return status; |
|
83 } |
|
84 |
|
85 SmfError SmfClient::loginToService(SmfProvider* provider) |
|
86 { |
|
87 if(!m_authAppProcess) |
|
88 m_authAppProcess = new QProcess(); |
|
89 |
|
90 connect(m_authAppProcess, SIGNAL(started()), this, SLOT(started())); |
|
91 connect(m_authAppProcess, SIGNAL(stateChanged(QProcess::ProcessState)), |
|
92 this, SLOT(stateChanged(QProcess::ProcessState))); |
|
93 connect(m_authAppProcess, SIGNAL(error ( QProcess::ProcessError)), |
|
94 this, SLOT(error ( QProcess::ProcessError))); |
|
95 |
|
96 connect(m_authAppProcess, SIGNAL(finished(int, QProcess::ExitStatus)), |
|
97 this, SLOT(finished(int, QProcess::ExitStatus))); |
|
98 |
|
99 m_authAppProcess->start(provider->authenticationAppName()); |
|
100 m_authAppProcess->waitForFinished(-1); |
|
101 return SmfNoError; |
|
102 } |
|
103 |
|
104 |
|
105 SmfError SmfClient::logoutOfService(SmfProvider* provider) |
|
106 { |
|
107 if(!m_authAppProcess) |
|
108 m_authAppProcess = new QProcess(); |
|
109 |
|
110 connect(m_authAppProcess, SIGNAL(started()), this, SLOT(started())); |
|
111 connect(m_authAppProcess, SIGNAL(stateChanged(QProcess::ProcessState)), |
|
112 this, SLOT(stateChanged(QProcess::ProcessState))); |
|
113 connect(m_authAppProcess, SIGNAL(error ( QProcess::ProcessError)), |
|
114 this, SLOT(error ( QProcess::ProcessError))); |
|
115 |
|
116 connect(m_authAppProcess, SIGNAL(finished(int, QProcess::ExitStatus)), |
|
117 this, SLOT(finished(int, QProcess::ExitStatus))); |
|
118 |
|
119 m_authAppProcess->start(provider->authenticationAppName()); |
|
120 m_authAppProcess->waitForFinished(-1); |
|
121 return SmfNoError; |
|
122 } |
|
123 |
|
124 void SmfClient::started() |
|
125 { |
|
126 qDebug()<<"Inside SmfClient::started()"; |
|
127 } |
|
128 |
|
129 void SmfClient::stateChanged(QProcess::ProcessState newState) |
|
130 { |
|
131 qDebug()<<"Inside SmfClient::stateChanged(), state = "<<newState; |
|
132 } |
|
133 |
|
134 void SmfClient::error(QProcess::ProcessError error) |
|
135 { |
|
136 qDebug()<<"Inside SmfClient::error(), error = "<<error; |
|
137 } |
|
138 |
|
139 void SmfClient::finished(int exitCode, QProcess::ExitStatus exitStatus) |
|
140 { |
|
141 qDebug()<<"Inside SmfClient::finished()"; |
|
142 qDebug()<<"exitcode = "<<exitCode; |
|
143 qDebug()<<"exitStatus = "<<exitStatus; |
|
144 } |
59 |
145 |
60 /** |
146 /** |
61 * This method returns the error message for the mentioned argument error code |
147 * This method returns the error message for the mentioned argument error code |
62 * @param aErrorCode The SmfError code for which the error string is required |
148 * @param aErrorCode The SmfError code for which the error string is required |
63 * @returns a QString object containing the required error message |
149 * @returns a QString object containing the required error message |