/* * Brutus header file for the BrutusLogOn servant. * Copyright (C) 2004 OMC Denmark ApS. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef __BRUTUSLOGONS_IMPL_H_ #define __BRUTUSLOGONS_IMPL_H_ #include #include #include #include #include #if !defined (ACE_LACKS_PRAGMA_ONCE) #pragma once #endif /* ACE_LACKS_PRAGMA_ONCE */ class SERVANTLIB_API BRUTUS_BrutusLogOn_i : public virtual POA_BRUTUS::BrutusLogOn, public virtual ::PortableServer::RefCountServantBase { public: BRUTUS_BrutusLogOn_i(::PortableServer::POA_ptr Poa, ::SessionRegistry *Registry, const bool ProcessPerSession, const bool OnlyAdministrator, const bool Authenticate, const bool ProfilesOnDisk, const unsigned long CheckLifeDelay, ::CORBA::ORB_ptr ORB = ::CORBA::ORB::_nil()); virtual void GetVersion(::BRUTUS::BrutusLogOn::BrutusVersion_out version); virtual void GetPublicKey(::BRUTUS::seq_octet_out PubKey); virtual ::BRUTUS::BRESULT Logon(::BRUTUS::BrutusCheck_ptr Lifeline, const char *MAPIProfileName, const char *MAPIProfilePassword, const char *WindowsUserName, const char *WindowsDomainName, const char *WindowsUserPassword, const char *MailboxName, const char *ServerName, ::BRUTUS::BDEFINE LogonFlags, ::BRUTUS::BDEFINE ProfileFlags, ::BRUTUS::SERVER_TYPE ServerType, ::CORBA::ULong_out InstanceID, ::BRUTUS::IMAPISession_out Session); virtual ::BRUTUS::BRESULT CreateProfile(const char *MAPIProfileName, const char *MAPIPassword, const char *MailboxName, const char *ServerName, ::BRUTUS::SERVER_TYPE ServerType, ::BRUTUS::BDEFINE ProfileFlags, ::CORBA::Boolean ConnectIgnoreNoPF); private: BRUTUS_BrutusLogOn_i(void) { }; virtual ~BRUTUS_BrutusLogOn_i(void) { }; ::BRUTUS::BRESULT create_session(const unsigned long CheckLifeDelay, ::BRUTUS::BrutusCheck_ptr LifeLine, const char *MAPIProfileName, const char *MAPIProfilePassword, const char *WindowsUserName, const char *WindowsDomainName, const char *WindowsPassword, const char *MailboxName, const char *ServerName, ::BRUTUS::BDEFINE LogonFlags, ::BRUTUS::BDEFINE ProfileFlags, ::BRUTUS::SERVER_TYPE ServerType, ::CORBA::ULong_out InstanceID, ::BRUTUS::IMAPISession_out Session); ::PortableServer::POA_var poa_; ::SessionRegistry *served_sessions_; bool process_per_session_; bool only_administrator_; bool authenticate_; bool profiles_on_disk_; bool exchange_2007_; unsigned long check_life_delay_; ::CORBA::ORB_var internal_orb_; ::BRUTUS::ProxyManager_var proxy_manager_; ACE_RW_Mutex mutex_; }; #endif /* __BRUTUSLOGONS_IMPL_H_ */ /* * Local variables: * mode: C++ * c-basic-offset: 8 * tab-width: 8 * indent-tabs-mode: nil * End: */