//tabstop=4 //*********************************************************************** // ORBAsec SL3 // ---------------------------------------------------------------------- // Copyright (C) 2001 Adiron, LLC. // All rights reserved. // ---------------------------------------------------------------------- // $Id$ //*********************************************************************** // // Marked modifications Copyright (C) 2002, 2003 ObjectSecurity Ltd. // // Note: this module has been completely rewritten to use local // interfaces as a holder of argument. This way we get rid of // valuetype and any usage. #ifndef _SL3AQArgs_IDL_ #define _SL3AQArgs_IDL_ #include #pragma prefix "adiron.com" module SL3AQArgs { /** * This interface is an abstract parent for others * which will hold concrete configurations * used to acquire credentials */ local interface Argument { readonly attribute SL3CM::AcquisitionArgumentType type; }; typedef sequence ArgumentSeq; /** * ArgBuilder is generic way how to work with * Arguments. Concrete transports will then use children of this * interface to provide more concrete functionality */ local interface ArgBuilder { /** * This operation adds one argument into the argument list */ void add_arg(in Argument arg); /** * This operation adds list of arguments into the argument * list */ void add_args(in ArgumentSeq args); /** * This operation is used to obtain argument list, which is * then used for obtaining credentials. The list is returned * in a form of ArgsHolder which is a child of Argument, but * which is defined in private MICO SL3 API */ Argument reap_args(); /** * This operation destroys argument builder */ void destroy(); }; /** * This interface is a generic factory for argument * builders. Concrete transports will then provide its child(ren) * for obtaining concrete transport argument builder */ local interface ArgBuilderFactory { /** * Creates a new Builder interface with the specified usage. */ ArgBuilder create_arg_builder(in SL3CM::CredentialsUsage usage); }; }; #endif