// // MICO SL3 --- an Open Source SL3 implementation // Copyright (C) 2004 ObjectSecurity Ltd. // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public // License as published by the Free Software Foundation; either // version 2 of the License, or (at your option) any later version. // // This library 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 // Library General Public License for more details. // // You should have received a copy of the GNU Library General Public // License along with this library; if not, write to the Free // Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // Send comments and/or bug reports to: // micosec@objectsecurity.com // // Written by Karel Gardas, #ifndef _SL3OMEXT_IDL_ #define _SL3OMEXT_IDL_ #include /** * This module provides interfaces for MICO's Observers Model extensions. * These interfaces can be used by SL3 enabled application, but the user * have to keep in mind that they are MICO proprietary and so the application * code is not portable across various SL3 implementations. */ module SL3OMExt { /** * This observer is an extension of CredentialsObserver. It adds * functionality for notification about credentials destruction. */ local interface CredentialsDestroyObserver : SL3OM::CredentialsObserver { /** * This operation notifies the observer about credentials * destruction. It is usually called from OwnCredentials * implementation destructor. */ void destroy_credentials(in SL3CM::CredentialsId id); }; /** * This observer is an extension of AcceptingContextObserver. It adds * functionality for notification about credentials destruction. */ local interface AcceptingContextDestroyObserver : SL3OM::AcceptingContextObserver { /** * This operation notifies the observer about credentials * destruction. It is usually called from ClientCredentials * implementation destructor. */ void destroy_context(in TransportSecurity::ClientCredentials ctx); }; /** * This observer is an extension of InitiatingContextObserver. It adds * functionality for notification about credentials destruction. */ local interface InitiatingContextDestroyObserver : SL3OM::InitiatingContextObserver { /** * This operation notifies the observer about credentials * destruction. It is usually called from TargetCredentials * implementation destructor. */ void destroy_context(in TransportSecurity::TargetCredentials ctx); }; /** * This observer is an extension of ClientCredentialsObserver. It adds * functionality for notification about credentials destruction. */ local interface ClientCredentialsDestroyObserver : SL3OM::ClientCredentialsObserver { /** * This operation notifies the observer about credentials * destruction. It is usually called from ClientCredentials * implementation destructor. */ void destroy_credentials(in SecurityLevel3::ClientCredentials creds); }; /** * This observer is an extension of TargetCredentialsObserver. It adds * functionality for notification about credentials destruction. */ local interface TargetCredentialsDestroyObserver : SL3OM::TargetCredentialsObserver { /** * This operation notifies the observer about credentials * destruction. It is usually called from TargetCredentials * implementation destructor. */ void destroy_credentials(in SecurityLevel3::TargetCredentials creds); }; }; // SL3OMExt #endif // _SL3OMEXT_IDL_