// File: SendingContext.idl
// CORBA 2.5.1, Chapter 5

#ifndef _SENDING_CONTEXT_IDL_
#define _SENDING_CONTEXT_IDL_

#ifdef _PRE_3_0_COMPILER_ 
#include <orb.idl>
#pragma prefix "omg.org"
#else
//PolyORB:NI:import ::CORBA;
#endif // _PRE_3_0_COMPILER_

//PolyORB:NI:module SendingContext {
//PolyORB:NI:
//PolyORB:NI:#ifndef _PRE_3_0_COMPILER_ 
//PolyORB:NI:    typeprefix SendingContext "omg.org";
//PolyORB:NI:#endif // _PRE_3_0_COMPILER_
//PolyORB:NI:
//PolyORB:NI:    interface RunTime {}; // so that we can provide more 
//PolyORB:NI:                          // sending context run time
//PolyORB:NI:                          // services in the future
//PolyORB:NI:
//PolyORB:NI:    interface CodeBase: RunTime {
//PolyORB:NI:        typedef string          URL; // blank-separated list of one or more URLs
//PolyORB:NI:        typedef sequence<URL>   URLSeq;
//PolyORB:NI:        typedef sequence<CORBA::ValueDef::FullValueDescription> ValueDescSeq;
//PolyORB:NI:
//PolyORB:NI:        // Operation to obtain the IR from the sending context 
//PolyORB:NI:        CORBA::Repository get_ir();
//PolyORB:NI:
//PolyORB:NI:        // Operations to obtain a location of the implementation code
//PolyORB:NI:        URL     implementation(             in CORBA::RepositoryId    x);
//PolyORB:NI:        URL     implementationx(            in CORBA::RepositoryId    x);
//PolyORB:NI:        URLSeq  implementations(            in CORBA::RepositoryIdSeq x);
//PolyORB:NI:
//PolyORB:NI:        // Operations to obtain complete meta information about a Value 
//PolyORB:NI:        // This is just a performance optimization the IR can provide
//PolyORB:NI:        // the same information
//PolyORB:NI:        CORBA::ValueDef::FullValueDescription meta( in CORBA::RepositoryId    x);
//PolyORB:NI:        ValueDescSeq                          metas(in CORBA::RepositoryIdSeq x);
//PolyORB:NI:
//PolyORB:NI:        // To obtain a type graph for a value type
//PolyORB:NI:        // same comment as before the IR can provide similar
//PolyORB:NI:        // information
//PolyORB:NI:        CORBA::RepositoryIdSeq      bases(  in CORBA::RepositoryId x);    
//PolyORB:NI:    };
//PolyORB:NI:};
#endif // _SENDING_CONTEXT_IDL_
