13d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/*
23d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Copyright (C) 2014 The Android Open Source Project
33d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby *
43d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Licensed under the Apache License, Version 2.0 (the "License");
53d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * you may not use this file except in compliance with the License.
63d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * You may obtain a copy of the License at
73d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby *
83d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby *      http://www.apache.org/licenses/LICENSE-2.0
93d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby *
103d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * Unless required by applicable law or agreed to in writing, software
113d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * distributed under the License is distributed on an "AS IS" BASIS,
123d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
133d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * See the License for the specific language governing permissions and
143d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby * limitations under the License.
153d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby */
163d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
173d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#ifndef DMSERVERAUTHENTICATION_H
183d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#define DMSERVERAUTHENTICATION_H
193d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
203d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/*==================================================================================================
213d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
223d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    Header Name: dmServerAuthentication.h
233d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
243d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    General Description: Declaration of DMServerAuthentication class.
253d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
263d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby==================================================================================================*/
273d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
283d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "syncml_dm_data_types.h"
293d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#include "dmbuffer.h"
303d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
313d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby/*==================================================================================================
323d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby                                 CLASSES DECLARATION
333d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby==================================================================================================*/
343d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hambyclass DMServerAuthentication
353d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby{
363d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hambypublic:
373d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    SYNCML_DM_RET_STATUS_T AuthenticateServer(SYNCML_DM_AuthContext_T& AuthContext);
383d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
393d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hambyprivate:
403d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    void CheckCredentials(SYNCML_DM_AuthContext_T& AuthContext,const DMString& password, const DMBuffer& data, BOOLEAN bDecodeNonce);
413d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
423d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    DMString GetPreferredProfilePath(const DMString& strAccName, const DMMap<DMString,UINT32>& dmAuthProfiles);
433d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
443d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    SYNCML_DM_RET_STATUS_T TryProfile_1_1(const DMString& strAccName, const DMString& strProfilePath, SYNCML_DM_AuthContext_T& AuthContext);
453d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby
463d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby    SYNCML_DM_RET_STATUS_T TryProfile_1_2(const DMString& strAccName, const DMString& strProfilePath, SYNCML_DM_AuthContext_T& AuthContext);
473d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby};
483d91e7ce47853dc4e6ec7e1fc675c3d1585e3c51Jake Hamby#endif
49