1// 2// Copyright (c) ZeroC, Inc. All rights reserved. 3// 4 5#pragma once 6 7[["suppress-warning:deprecated"]] // For classes with operations 8 9module Test 10{ 11 12module MA 13{ 14 15interface IA 16{ 17 IA* iaop(IA* p); 18} 19 20class CA 21{ 22 CA* caop(CA* p); 23} 24 25} 26 27module MB 28{ 29 30interface IB1 extends MA::IA 31{ 32 IB1* ib1op(IB1* p); 33} 34 35interface IB2 extends MA::IA 36{ 37 IB2* ib2op(IB2* p); 38} 39 40class CB extends MA::CA 41{ 42 CB* cbop(CB* p); 43} 44 45} 46 47module MA 48{ 49 50interface IC extends MB::IB1, MB::IB2 51{ 52 IC* icop(IC* p); 53} 54 55class CC extends MB::CB 56{ 57 CC* ccop(CC* p); 58} 59 60class CD extends CC implements MB::IB1, MB::IB2 61{ 62 CD* cdop(CD* p); 63} 64 65} 66 67interface Initial 68{ 69 void shutdown(); 70 MA::CA* caop(); 71 MB::CB* cbop(); 72 MA::CC* ccop(); 73 MA::CD* cdop(); 74 MA::IA* iaop(); 75 MB::IB1* ib1op(); 76 MB::IB2* ib2op(); 77 MA::IC* icop(); 78} 79 80module MC 81{ 82 83class A 84{ 85 int aA; 86} 87 88class B extends A 89{ 90 int bB; 91} 92 93class C extends B 94{ 95 int cC; 96} 97 98class D extends C 99{ 100 int dD; 101} 102 103} 104 105module MD 106{ 107 108class A 109{ 110 int aA; 111} 112 113class B extends A 114{ 115 int bB; 116} 117 118class C extends B 119{ 120 int cC; 121} 122 123class D extends C 124{ 125 int dD; 126} 127 128} 129 130module ME 131{ 132 133class A 134{ 135 int aA; 136} 137 138class B extends A 139{ 140 int bB; 141} 142 143class C extends B 144{ 145 int cC; 146} 147 148class D extends C 149{ 150 int dD; 151} 152 153} 154 155module MF 156{ 157 158class A 159{ 160 int aA; 161} 162 163class B extends A 164{ 165 int bB; 166} 167 168class C extends B 169{ 170 int cC; 171} 172 173class D extends C 174{ 175 int dD; 176} 177 178} 179 180module MG 181{ 182 183class A 184{ 185 int aA; 186} 187 188class B extends A 189{ 190 int bB; 191} 192 193class C extends B 194{ 195 int cC; 196} 197 198class D extends C 199{ 200 int dD; 201} 202 203} 204 205module MH 206{ 207 208class A 209{ 210 int aA; 211} 212 213class B extends A 214{ 215 int bB; 216} 217 218class C extends B 219{ 220 int cC; 221} 222 223class D extends C 224{ 225 int dD; 226} 227 228} 229 230interface Echo 231{ 232 void setConnection(); 233 void startBatch(); 234 void flushBatch(); 235 void shutdown(); 236} 237 238} 239