#include "test-2.idl" module M { local interface CCM_I : I { }; }; module M1 { local interface CCM_C1 : ::Components::EnterpriseComponent { ::M::CCM_I get_i (); readonly attribute long l; }; local interface CCM_C1_Context : ::Components::SessionContext { }; local interface CCM_H1Implicit { ::Components::EnterpriseComponent create () raises (::Components::CCMException); }; local interface CCM_H1Explicit : ::Components::HomeExecutorBase { attribute ::M::I i; }; local interface CCM_H1 : CCM_H1Explicit, CCM_H1Implicit { }; }; local interface CCM_Goof : Goof { }; module M2 { local interface CCM_C2 : ::M1::CCM_C1, ::M2::I, ::M2::J { ::CCM_Goof get_pg (); void push_ce (in ::M2::E e); }; local interface CCM_C2_Context : ::M1::CCM_C1_Context { ::Goof get_connection_ug (); void push_pe (in ::M2::E e); void push_me (in ::M2::E e); }; local interface CCM_H2Implicit { ::Components::EnterpriseComponent create () raises (::Components::CCMException); }; local interface CCM_H2Explicit : ::M1::CCM_H1Explicit, ::M2::I, ::M2::J { readonly attribute long rl; readonly attribute ::M::I rai; attribute ::M2::OctetSeq seq; attribute ::M2::S_Seq a_s_seq; void foo (in long l, inout boolean b, out long ol, in ::M::I i, out unsigned long long ull, inout ::M2::S_Seq s_seq, in ::M2::V v) raises (::M2::Ex1, ::M2::Ex2); ::Components::EnterpriseComponent new (in long l, in ::M2::OctetSeq s) raises (::M2::Ex2, ::M2::Ex1); ::Components::EnterpriseComponent find (in long l, in ::M2::OctetSeq s) raises (::M2::Ex1, ::M2::Ex2); }; local interface CCM_H2 : CCM_H2Explicit, CCM_H2Implicit { }; }; module M3 { module Impl { local interface CImplContext { }; }; };