#ifndef __DCELOGIN_H__
#define __DCELOGIN_H__
#include <dce/sec_login.h>
class DceLogin
{
DceLogin(const DceLogin&); // forbidden
DceLogin& operator=(const DceLogin&); // forbidden
public:
int status;
DceLogin();
~DceLogin();
int login(const char* principal,const char* password);
int get_login_context(sec_login_handle_t& z)
{ if(status) return 1; z=login_context; return 0;}
int get_authorization_source(sec_login_auth_src_t& z)
{ if(status) return 1; z=authorization_source; return 0;}
private:
sec_login_handle_t login_context;
sec_login_flags_t login_flags;
sec_passwd_rec_t password_record;
sec_login_auth_src_t authorization_source;
bool is_logged;
};
// need a proper Unix login to access a default key file and
// a proper DCE login to access registry
int Dce_change_password(const char * principal_name, const char *password, const char *caller_password);
#endif