orbit-idl seg fault on simple .idl



My difficulty is that orbit-idl 0.5 seg faults and dumps core on the
following simple .idl file (this is a MODIFIED version of an OMG DTF file).
Sun's idlj compiler seems to like it just fine.  If I comment out the two
interfaces orbit-idl works fine.  If I comment out the second of the two
interfaces, orbit-idl produces output, but crashes after.

This must be a simple problem, since orbit-idl does the same thing on
STANDARD OMG published files.  Please help.

Thanks,
Ray

---------------------------------------------

// File: DsObservationAccess.idl
// Remember this is a MODIFIED OMG file

#ifndef _DS_OBSERVATION_ACCESS_IDL_
#define _DS_OBSERVATION_ACCESS_IDL_

#pragma prefix "omg.org"

module DsObservationAccess {

	// From other OMG .idl files needed for DsObservationAccess
	// typedefs
	typedef string ObservedSubjectId; // just a proxy; actually more complex
	typedef string QualifiedCodeStr; // from NamingAuthority.idl

	// interface forward declarations
	interface ObservationDataIterator;
	interface ObservationLoader;

	// structs
	struct ObservationDataStruct {
		QualifiedCodeStr code;
		sequence<ObservationDataStruct> composite;
		sequence<ObservationDataStruct> qualifiers;
		//sequence<any,1> value;
		sequence<octet> value;
	};

	struct NameValuePair {
		QualifiedCodeStr name;
		//any value;
		string value;
	};

	// typedefs
	typedef NameValuePair	QueryPolicy;
	//typedef any		ObservationData;
	typedef string		ObservationData;
	typedef ObservationData	ObservationQualifier;

	// sequences
	typedef sequence<ObservationDataStruct>	ObservationDataStructSeq;
	typedef sequence<ObservationQualifier>	ObservationQualifierSeq;
	typedef sequence<QueryPolicy>		QueryPolicySeq;
	typedef sequence<QualifiedCodeStr>	QualifiedCodeStrSeq;
	typedef sequence<ObservedSubjectId>	ObservedSubjectIdSeq;
	// exceptions
	exception InvalidCodes {
		QualifiedCodeStrSeq codes;
	};

	exception InvalidIds {
		ObservedSubjectIdSeq ids;
	};

	exception InvalidPolicies {
		QualifiedCodeStrSeq policies;
	};

	exception InvalidQualifiers {
		QualifiedCodeStrSeq qualifiers;
	};

	exception NotImplemented {
	};

	// interfaces

	//interface ObservationLoader : AccessComponent {
	interface ObservationLoader {
		void put_observation(in ObservationDataStructSeq observations);
	};

	//interface ObservationDataIterator : AbstractManagedObject {
	interface ObservationDataIterator {
		unsigned long max_left();
		boolean next_n(
			in unsigned long n,
			out ObservationDataStructSeq observation_data_seq);
	};

};

#endif	// _DS_OBSERVATION_ACCESS_IDL_





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]