//============================================================================= /** * @file sequence.idl * * This file contains examples of IDL code that has * caused problems in the past for the TAO IDL * compiler. This test is to make sure the problems * stay fixed. * * * @author Jeff Parsons and TAO users. */ //============================================================================= #include "tao/OctetSeq.pidl" struct myfoostruct; typedef sequence myfoostructseq; struct myfoostruct { string str_mem; myfoostructseq rec_mem; }; exception nasty { string id; myfoostruct rec_info; }; // This will produce a link error if a handcraft we have added to // tao/OctetSeqC.h is ever removed. typedef sequence OctetSeqSeq; local interface seqLocal { }; typedef sequence seqLocalSeq; // Tests deeply nested recursive type. module Deployment { struct ComponentPackageDescription; typedef sequence < ComponentPackageDescription > ComponentPackageDescriptions; struct ComponentAssemblyDescription { ComponentPackageDescriptions instance; }; typedef sequence < ComponentAssemblyDescription > ComponentAssemblyDescriptions; struct NamedImplementationArtifact; typedef sequence < NamedImplementationArtifact > NamedImplementationArtifacts; struct NamedImplementationArtifact { string str; NamedImplementationArtifacts dependsOn; }; struct MonolithicImplementationDescription { NamedImplementationArtifacts primaryArtifact; }; typedef sequence < MonolithicImplementationDescription > MonolithicImplementationDescriptions; struct PackagedComponentImplementation { ComponentAssemblyDescriptions assemblyImpl; MonolithicImplementationDescriptions monolithicImpl; }; typedef sequence < PackagedComponentImplementation > PackagedComponentImplementations; struct ComponentPackageDescription { string str; PackagedComponentImplementations implementation; }; };