Questions tagged [idl]

IDL, short for Interface Description Language, is a language used to describe a software component's public interface in a programming-language-independent manner. (Not to be confused with the [idl-programming-language] tag, which is for a language used for scientific and medical image analysis)

As described on Wikipedia:

An interface description language or interface definition language (IDL), is a specification language used to describe a software component's application programming interface (API). IDLs describe an interface in a language-independent way, enabling communication between software components that do not share one language. For example, between those written in C++ and those written in Java.

IDLs are commonly used in remote procedure call software. In these cases the machines at either end of the link may be using different operating systems and computer languages. IDLs offer a bridge between the two different systems.

Software systems based on IDLs include Sun's ONC RPC, The Open Group's Distributed Computing Environment, IBM's System Object Model, the Object Management Group's CORBA (which implements OMG IDL, an IDL based on DCE/RPC), Mozilla's XPCOM, Facebook's Thrift and WSDL for Web services.

Web specifications use a special form of IDL called WebIDL: https://heycam.github.io/webidl/

558 questions
5
votes
1 answer

In Avro IDL, how can I import an externally provided schema?

A simple example illustrates my problem. In essence, I am working on a large project that has code split across multiple repositories. In repo 1 there is an Avro schema "S1" defined in an .avdl file which gets compiled into its Avro generated…
user3457201
  • 116
  • 1
  • 5
5
votes
3 answers

What is a real life example of CORBA?

What is an example of a situation where CORBA would be used? Is it just a matter of using an interface language (e.g. Java) to 'talk' to all applications?
anon
5
votes
1 answer

Include files in ridl

The Delphi project I'm working on requires me to create a very large type library in order to add COM support. The problem is with the type library/ridl editor in Delphi is that it becomes difficult to manage (from a programmer point of view) such…
Keith Giddings
  • 251
  • 1
  • 3
5
votes
1 answer

Importing interfaces in IDL from an external type library

I have two type libraries with COM interfaces that I wrote using ATL and Microsoft's IDL. I would like an interface in one library to inherit from an interface in the other. Essentially, I would like to do the same thing that Steven described at How…
sourcenouveau
  • 29,356
  • 35
  • 146
  • 243
5
votes
2 answers

What's the default value of an union in avro Idl?

For unions in avro Idl something like below what would be the default values? 1. union {null, string} var = null; 2. union {string, null} = "xyz"; 3. union {null, string} = "xyz"; 4. union {null, string, array} = []; My assumption is the default…
barath
  • 762
  • 1
  • 8
  • 26
5
votes
1 answer

defaultvalue and retval parameter ordering in IDL file and C++ header file

I'm trying to update an existing COM API to include a new optional output parameter, and have run into an issue with the enforced ordering of parameter types in the IDL file and the associated C++ header file. Previously I had an IDL file like this…
rounderdude
  • 65
  • 1
  • 6
5
votes
3 answers

cmake: read and compile dynamically-generated list of cpp files

I have a custom tool that processes a given list of IDL files and produces a number of .cpp and .h files as output. I want to add those files to the list of things to compile in my CMakeLists, and also model the dependencies those files have on the…
gimmeamilk
  • 2,016
  • 5
  • 24
  • 36
5
votes
1 answer

What do you do when MIDL can't create a tlb?

I am attempting to create a C# inproc server for sbtsv.idl (it is included with the Windows 8 SDK). Almost every instructions I find tell you to use MIDL to create a .tlb file then tlbimport to create the proxy dll. However, if the IDL does not…
Scott Chamberlain
  • 124,994
  • 33
  • 282
  • 431
5
votes
1 answer

Getting IDL (for TLB) from a COM+ dll when it is not provided

I have a .dll that contains some directshow filters (COM) with specific/custom interfaces to query. Most 3rd party directshow components contain embedded .tlb files that can be used for cross-enviroment communication (C# typelib import). I would…
Paul Knopf
  • 9,568
  • 23
  • 77
  • 142
5
votes
3 answers

Difference between idl and odl

What is main difference in IDL and ODL. I have many projects, some of them has idl and some of them have odl. And where I should use them. What are tradeoffs.
fhnaseer
  • 7,159
  • 16
  • 60
  • 112
5
votes
2 answers

Any sense in marking an IUnknown-derived interface as dual in IDL?

Reviewing our code I've found a curious definition in one of .idl files: [ object, uuid(uuidhere), dual, nonextensible, oleautomation, hidden ] interface IOurInterface : IUnknown { //methods here }; How can an interface…
sharptooth
  • 167,383
  • 100
  • 513
  • 979
5
votes
2 answers

Convert TLB to IDL

Does anyone know of a commandline-tool that generates an idl file from a type library (.tlb)? The reason for doing this is to get rid of underscores in enum-values generated from regasm. The problem with underscores in enums is discussed in this…
Søren Randrup
  • 318
  • 2
  • 19
5
votes
1 answer

How can I pass a variable-length string from an RPC server to the client?

I am implementing a Windows system service, which acts as RPC server, and a corresponding client, both in C++. I am using plain Windows RPC functionality. Passing strings from the RPC client to the server is easy. Just declare the function parameter…
Helge Klein
  • 8,829
  • 8
  • 51
  • 71
5
votes
2 answers

Is the packing of structs passed in COM interfaces defined?

I'm working with a third party COM server with its own custom interface that sets and gets structs as some of its properties. As it happens I'm using C++ for the client. I've posted some representative code from the IDL file below with names changed…
persiflage
  • 1,154
  • 12
  • 22
4
votes
2 answers

How to declare an arguments of type void* in IDL

I am developing ATL project. Some interfaces contain arguments to pass the various pointers. Here is my IDL file: import "oaidl.idl"; import "ocidl.idl"; [ object, uuid(618E64F5-676B-4A13-A513-DE3D4097294A), dual, nonextensible, …
vpp
  • 319
  • 1
  • 3
  • 10
1 2
3
37 38