report IDL



Hi!

Well, here's is the first proposal for the report IDL. Please add your
comments, additions, etc.

module GDA {

	struct Param {
		    string name;
     any value;
	};
	typedef sequence<Param> ParamList;
	
enum Converter {
     CONVERTER_TO_PDF,
     CONVERTER_TO_PS,
     ...
};

	interface Report {
		    string run (in ParamList params); // returns the XML
		output, in case clients want to play
     any convert (in Converter format); // returns the contents of the
file?

     /* here, add functions for accessing report's internal format */
	};
	typedef sequence<Report> ReportList;
	
	interface ReportEngine {
		    ReportList getAvailableReports ();
		    Report openReport (in string rep_name);
     Report addReport (in string rep_name, in string xml_report);
     void removeReport (in string rep_name);
	};

};

The idea I have is that the report engine has all the reports stored in
a location known only to him, and clients access them through the
report's name, although they can add new reports to the system (through
addReport).

Then, as Carlos suggested, we should add another interface
(ReportBuilder?) which lets clients access to the report internal
format, so that a report designer can be coded without knowing about the
internals.

It is incomplete of course, but I think it's a starting point. So,
please comments?





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