Re: [Dorset] OT(ish): IDL

2011-10-12 Thread Tim Waugh
On Tue, 2011-10-11 at 20:16 +0100, Terry Coles wrote:
 So how do Unix/Linux progams export their interfaces?  In MS VisualStudio, I 
 can click on a function or method and right-click to get the interface.

The free desktop way of doing this is D-Bus.  The interface
description for your D-Bus object is written in XML:
http://dbus.freedesktop.org/doc/dbus-specification.html#introspection-format

and is available at runtime using the special
org.freedesktop.DBus.Introspectable interface on the object.

You can inspect running objects visually using d-feet, and even call
methods on them if you like:
http://live.gnome.org/DFeet/

I believe that gtk-doc can convert the D-Bus Introspection data into
e.g. HTML, as in:
http://www.packagekit.org/gtk-doc/PackageKit.html

For libraries, GObject Introspection is also relevant to this topic:
https://live.gnome.org/GObjectIntrospection

It's a method for automatically creating language bindings for APIs,
including documentation.

Tim.
*/



signature.asc
Description: This is a digitally signed message part
--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue

Re: [Dorset] OT(ish): IDL

2011-10-12 Thread Ralph Corderoy
Hi Terry,

 On Tuesday 11 Oct 2011, Ralph Corderoy wrote:
  The textual IDL file would be my first thought, or are you thinking
  there's a way to interrogate a peer to determine the interface it
  offers at run-time?
 
 AIUI, the IDL file is compiled into a 'type library' which is somehow
 embedded into a Windows DLL or exe, so that and IDE tool can view the
 information.  I don't do this myself, but I've watched our programmers
 knock up quick and dirty code, just by looking at this info.

That sounds to me more like whatever is using IDL happens to provide a
discovery service to enquire about the interface and not something
fundamental to DCE's lower-level IDL itself.

 I was hoping that there would be more than just MS tools that could do
 this kind of thing, or at least compile an IDL file to check for
 errors.  I'll have a look at your other links tomorrow.

Another one, Samba's PIDL IDL compiler.  http://wiki.wireshark.org/Pidl

 I did ask this quetion at a LUG Meeting recently although in a
 different form.  I was asking if any of the IDE tools available on
 Linux, (eg Eclipse, KDevelop, etc) had this kind of functionality.  I
 don't think anyone knew at the time.  I've been unable to find
 anything in the Help or Docs for those tools, but maybe I'm searching
 for the wrong string.

I've not used those IDEs but DCE/RPC has been unpopular on Unix since
before they came along so I doubt they've the (Windows' specific?)
interrogation you're after.

 How do Linux programmers write function calls?  Purely from the Docs?

Yep.  The fine man pages traditionally.  Supplemented by books, other
source code that uses them, and the function call source itself.  I
wouldn't expect an IDL to be able to describe all the semantics of an
interface so even if some whizzy MS GUI lets you inspect it and see what
you can poke, you may only be playing all the right notes but not
necessarily in the right order.

Cheers, Ralph.

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


Re: [Dorset] OT(ish): IDL

2011-10-12 Thread Terry Coles
Ralph,

Since yesterday, I've followed up on the links you provided and had 'long and 
meanigful' discussions with the guys who maintain the Standard.  As a result, 
I'm a bit more clued up than I was yesterday evening.

On Wednesday 12 Oct 2011, Ralph Corderoy wrote:
  AIUI, the IDL file is compiled into a 'type library' which is somehow
  embedded into a Windows DLL or exe, so that and IDE tool can view the
  information.  I don't do this myself, but I've watched our programmers
  knock up quick and dirty code, just by looking at this info.
 
 That sounds to me more like whatever is using IDL happens to provide a
 discovery service to enquire about the interface and not something
 fundamental to DCE's lower-level IDL itself.

I suspect that you're right.  My boss Chris has always maintained that (for 
all their faults) MS do produce very functional development tools.  This 
functionality was included in Visual Studio 6, which is pretty old now.

  I was hoping that there would be more than just MS tools that could do
  this kind of thing, or at least compile an IDL file to check for
  errors.  I'll have a look at your other links tomorrow.
 
 Another one, Samba's PIDL IDL compiler.  http://wiki.wireshark.org/Pidl

Thanks, I've identified several IDL compilers now including one that is open 
source (it's a part of omniORB a CORBA toolset).

  I did ask this quetion at a LUG Meeting recently although in a
  different form.  I was asking if any of the IDE tools available on
  Linux, (eg Eclipse, KDevelop, etc) had this kind of functionality.  I
  don't think anyone knew at the time.  I've been unable to find
  anything in the Help or Docs for those tools, but maybe I'm searching
  for the wrong string.
 
 I've not used those IDEs but DCE/RPC has been unpopular on Unix since
 before they came along so I doubt they've the (Windows' specific?)
 interrogation you're after.

In fact, IDL is separate from RPC.  IDL is simply about the way in which you 
write you API apparently.  The Standard uses it so everyone has open access to 
the API calls, regardless of platform.

  How do Linux programmers write function calls?  Purely from the Docs?
 
 Yep.  The fine man pages traditionally.  Supplemented by books, other
 source code that uses them, and the function call source itself.  I
 wouldn't expect an IDL to be able to describe all the semantics of an
 interface so even if some whizzy MS GUI lets you inspect it and see what
 you can poke, you may only be playing all the right notes but not
 necessarily in the right order.

Thanks.

-- 
Terry Coles
64 bit computing with Kubuntu Linux

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


Re: [Dorset] OT(ish): IDL

2011-10-12 Thread Ralph Corderoy
Hi Terry,

 In fact, IDL is separate from RPC.  IDL is simply about the way in
 which you write you API apparently.  The Standard uses it so everyone
 has open access to the API calls, regardless of platform.

Right, it defines how data maps to bits and what functions there are
that can handle it.  Kind of like a platform-agnostic C header file with
knobs on.

ftp://ftp.samba.org/pub/unpacked/samba_4_0_test/librpc/idl/preg.idl

I suspect it's something like Microsoft's DCOM that adds the
introspection stuff.

Cheers, Ralph.

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


[Dorset] OT(ish): IDL

2011-10-11 Thread Terry Coles
Hi,

This query is a bit work and Windows related, but AFAIK crosses over into 
Unix/Linux.

At work we help to maintain the IEEE 1641 Standard (http://www.eads-
tes.com/Standards/IEEE1641/IEEE1641.htm) and I am currently writing a 
Validation Spec for compliant solutions.

Part of the Standard includes a requirement for support for Interface 
Description Language 
(http://en.wikipedia.org/wiki/Interface_description_language) from the 
Distributed Computing Environment Specification which is maintained by The 
Open Group.

We have always used MS Visual Studio to utilise IDL in our tools, but now I 
need to identify alternative and cross-platform tools to compile an IDL file 
and also to compile a program that uses an IDL file to define its API with 
system drivers.

Can anyone tell me:
1.  Is IDL generally used outside of MS and / or Windows?
2.  If so, are there alternative tools to manipulate it?
3.  Are any of those tools available on Unix/Linux platforms?

All help gratefully received.

-- 
Terry Coles
64 bit computing with Kubuntu Linux

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


Re: [Dorset] OT(ish): IDL

2011-10-11 Thread Ralph Corderoy
Hi Terry,

 Part of the Standard includes a requirement for support for Interface
 Description Language
 (http://en.wikipedia.org/wiki/Interface_description_language) from the
 Distributed Computing Environment Specification which is maintained by
 The Open Group.

(That link's about IDLs in general, not DCE's.)

 We have always used MS Visual Studio to utilise IDL in our tools, but
 now I need to identify alternative and cross-platform tools to compile
 an IDL file and also to compile a program that uses an IDL file to
 define its API with system drivers.
 
 Can anyone tell me:
 1.  Is IDL generally used outside of MS and / or Windows?

I rarely hear of it anymore.  DCE originated outside of MS and they used
bits of it.  There's bound to be legacy Unix stuff still based on it and
some new in-house code by existing users may continue using it.

 2.  If so, are there alternative tools to manipulate it?

The Open Group made the source available for their programs I think, and
it was forked at one point because there was going to be a licence
change.

 3.  Are any of those tools available on Unix/Linux platforms?

http://www.opengroup.org/dce/mall/
http://freedce.sf.net/

The latter includes a yacc(1) grammar for an IDL compiler.


http://freedce.git.sourceforge.net/git/gitweb.cgi?p=freedce/freedce;a=blob;f=freedce/idl/acf_y.y;h=7fc2bb4b86e8fcc8ff8b85d85b876c233e1aec37;hb=HEAD

The grammar proper starts at line 265.

Cheers, Ralph.

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


Re: [Dorset] OT(ish): IDL

2011-10-11 Thread Terry Coles
On Tuesday 11 Oct 2011, Ralph Corderoy wrote:
  Part of the Standard includes a requirement for support for Interface
  Description Language
  (http://en.wikipedia.org/wiki/Interface_description_language) from the
  Distributed Computing Environment Specification which is maintained by
  The Open Group.
 
 (That link's about IDLs in general, not DCE's.)

True, but there is a link to DCE on that page.

  We have always used MS Visual Studio to utilise IDL in our tools, but
  now I need to identify alternative and cross-platform tools to compile
  an IDL file and also to compile a program that uses an IDL file to
  define its API with system drivers.
  
  Can anyone tell me:
  1.  Is IDL generally used outside of MS and / or Windows?
 
 I rarely hear of it anymore.  DCE originated outside of MS and they used
 bits of it.  There's bound to be legacy Unix stuff still based on it and
 some new in-house code by existing users may continue using it.

So how do Unix/Linux progams export their interfaces?  In MS VisualStudio, I 
can click on a function or method and right-click to get the interface.

  2.  If so, are there alternative tools to manipulate it?
 
 The Open Group made the source available for their programs I think, and
 it was forked at one point because there was going to be a licence
 change.
 
  3.  Are any of those tools available on Unix/Linux platforms?
 
 http://www.opengroup.org/dce/mall/
 http://freedce.sf.net/
 
 The latter includes a yacc(1) grammar for an IDL compiler.
 

 http://freedce.git.sourceforge.net/git/gitweb.cgi?p=freedce/freedce;a=blob
 ;f=freedce/idl/acf_y.y;h=7fc2bb4b86e8fcc8ff8b85d85b876c233e1aec37;hb=HEAD
 
 The grammar proper starts at line 265.

Thanks.

-- 
Terry Coles
64 bit computing with Kubuntu Linux

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


Re: [Dorset] OT(ish): IDL

2011-10-11 Thread Ralph Corderoy
Hi Terry,

  I rarely hear of it anymore.  DCE originated outside of MS and they
  used bits of it.  There's bound to be legacy Unix stuff still based
  on it and some new in-house code by existing users may continue
  using it.
 
 So how do Unix/Linux progams export their interfaces?  In MS
 VisualStudio, I can click on a function or method and right-click to
 get the interface.

Sorry, I don't know.  You'd have to find a DCE IDL-using program, e.g.
one doing some DCE RPC I guess, and see what it offers.  The textual IDL
file would be my first thought, or are you thinking there's a way to
interrogate a peer to determine the interface it offers at run-time?

It seems there is a big user still about today;  Samba since it has to
use MS-RPC which is derived from DCE/RPC, whether it's compatible I
don't know.  This should be an interesting read.
http://kganugapati.wordpress.com/2008/06/06/a-history-of-ms-rpc-and-open-source-equivalents/

I also found
http://www.opensource.apple.com/source/dcerpc/dcerpc-46/dcerpc/include/dce/rpc.idl
suggesting it may be used there.

Cheers, Ralph.

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue


Re: [Dorset] OT(ish): IDL

2011-10-11 Thread Terry Coles
On Tuesday 11 Oct 2011, Ralph Corderoy wrote:
  So how do Unix/Linux progams export their interfaces?  In MS
  VisualStudio, I can click on a function or method and right-click to
  get the interface.
 
 Sorry, I don't know.  You'd have to find a DCE IDL-using program, e.g.
 one doing some DCE RPC I guess, and see what it offers.  The textual IDL
 file would be my first thought, or are you thinking there's a way to
 interrogate a peer to determine the interface it offers at run-time?

AIUI, the IDL file is compiled into a 'type library' which is somehow embedded 
into a Windows DLL or exe, so that and IDE tool can view the information.  I 
don't do this myself, but I've watched our programmers knock up quick and 
dirty code, just by looking at this info.

I was hoping that there would be more than just MS tools that could do this 
kind of thing, or at least compile an IDL file to check for errors.  I'll have 
a look at your other links tomorrow.

I did ask this quetion at a LUG Meeting recently although in a different form.  
I was asking if any of the IDE tools available on Linux, (eg Eclipse, 
KDevelop, etc) had this kind of functionality.  I don't think anyone knew at 
the time.  I've been unable to find anything in the Help or Docs for those 
tools, but maybe I'm searching for the wrong string.

How do Linux programmers write function calls?  Purely from the Docs?

-- 
Terry Coles
64 bit computing with Kubuntu Linux

--
Next meeting:  Bournemouth, Tuesday 2011-11-01 20:00
Meets, Mailing list, IRC, LinkedIn, ...  http://dorset.lug.org.uk/
How to Report Bugs Effectively:  http://goo.gl/4Xue