SSLIOP_TargetCredentials.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file   SSLIOP_TargetCredentials.h
00006  *
00007  *  $Id: SSLIOP_TargetCredentials.h 77001 2007-02-12 07:54:49Z johnnyw $
00008  *
00009  *  @author Ossama Othman <ossama@dre.vanderbilt.edu>
00010  */
00011 //=============================================================================
00012 
00013 #ifndef TAO_SSLIOP_TARGET_CREDENTIALS_H
00014 #define TAO_SSLIOP_TARGET_CREDENTIALS_H
00015 
00016 #include /**/ "ace/pre.h"
00017 
00018 #include "orbsvcs/SSLIOP/SSLIOP_Export.h"
00019 
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 #pragma once
00022 #endif /* ACE_LACKS_PRAGMA_ONCE */
00023 
00024 #include "orbsvcs/SSLIOP/SSLIOP_Credentials.h"
00025 
00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00027 
00028 namespace TAO
00029 {
00030   namespace SSLIOP
00031   {
00032     /**
00033      * @class TargetCredentials
00034      *
00035      * @brief SSLIOP-specific implementation of the
00036      *        SecurityLevel3::TargetCredentials interface.
00037      *
00038      * This class implements SSLIOP-specific
00039      * SecurityLevel3::TargetCredentials.
00040      */
00041     class TAO_SSLIOP_Export TargetCredentials
00042       : public virtual SecurityLevel3::TargetCredentials,
00043         public virtual SSLIOP_Credentials
00044     {
00045     public:
00046 
00047       TargetCredentials (::X509 *cert, ::EVP_PKEY *evp);
00048 
00049       /**
00050        * @name SecurityLevel3::Credentials Methods
00051        *
00052        * Methods required by the SecurityLevel3::Credentials
00053        * interface.
00054        */
00055       //@{
00056       virtual SecurityLevel3::CredentialsType creds_type ();
00057       //@}
00058 
00059       /**
00060        * @name SecurityLevel3::TargetCredentials Methods
00061        *
00062        * Methods required by the SecurityLevel3::TargetCredentials
00063        * interface.
00064        */
00065       //@{
00066       virtual char * context_id (void);
00067 
00068       virtual SecurityLevel3::Principal * client_principal ();
00069 
00070       virtual SecurityLevel3::StatementList * client_supporting_statements ();
00071 
00072       virtual SecurityLevel3::ResourceNameList * client_restricted_resources ();
00073 
00074       virtual SecurityLevel3::Principal * target_principal ();
00075 
00076       virtual SecurityLevel3::StatementList * target_supporting_statements ();
00077 
00078       virtual SecurityLevel3::ResourceNameList * target_restricted_resources ();
00079 
00080       virtual SecurityLevel3::OwnCredentials_ptr parent_credentials ();
00081 
00082       virtual CORBA::Boolean client_authentication (void);
00083 
00084       virtual CORBA::Boolean target_authentication (void);
00085 
00086       virtual CORBA::Boolean confidentiality (void);
00087 
00088       virtual CORBA::Boolean integrity (void);
00089 
00090       virtual CORBA::Boolean target_embodied (void);
00091 
00092       virtual CORBA::Boolean target_endorsed (void);
00093 
00094       virtual void release (void);
00095       //@}
00096 
00097     };
00098   }
00099 }
00100 
00101 TAO_END_VERSIONED_NAMESPACE_DECL
00102 
00103 #include /**/ "ace/post.h"
00104 
00105 #endif  /* TAO_SSLIOP_TARGET_CREDENTIALS_H */

Generated on Tue Feb 2 17:48:44 2010 for TAO_SSLIOP by  doxygen 1.4.7