information regarding .idl files in cpp - c++

I am working on webkit(webkit.org), an open source code browser.
While looking the webcore code i find there there are some .idl files and these idl looks different then normal cpp/c code.
I want to understand the use of .idl files and how they are useful.

IDL means Interface Definition Language. It is part of RPC (Remote Procedure Call). Search for RPC. There are tons on info on this topic..

WebKit IDL files are used to generate bindings, for JavaScript, Objective-C, and COM, so programs using WebKit can get at the DOM from those languages.
For example, the JavaScript bindings expose DOM to scripts in web pages, while the Objective-C bindings exposed DOM to programs on Mac OS X.
You can find details of what are WebKit IDLs and how to use in this link.

Related

How to use Glade XML file to generate c++ code for GTK?

I know how to use Glade generated XML file (*.glade) and to load it in c++ code.
But for educational purpose I need to see the c++ source code alternative to the XML file. I just want to see the same GUI (made on Glade with output in XML format), but in c++ source code with the GTK+ library classes explicitly defined.
Meanwhile I've found this tool and hopefully it is compatible with the latest Glade XML code.
The only way I do it is to make a c file with glib-compile-resource and add it as a resource. Note glib-compile-resource only compiles resources listed /defined in a defined xml file. You have to create resources.xml. All you do is regenerate the c file and add it to your program. with gcc resource.c youprogram.cpp etc. In your code use builder->add_from_resouce. See Glade and Builder. That way you dont have to worry about generating cpp files.
While it is not what you have asked for, maybe GtkInspector will help. It allows to inspect native Gtk at runtime and manipulate it, you can gain insights ("What was actually applied to Gtk?") and modify internals on the fly - without recompiling.
It can be compared to Web Inspector from WebKit.

Integrating a c++ library (.dll and .lib files) into a CFX based Firefox Plugin so that all code interacts on the browser or client computer.

Introduction:
I am building a plugin for Firefox version 31.5.0 using the cfx tool. I have been provided with a C++ SDK with header files, .dll files and a .lib file. For this application, I cannot run any scripts or programs on the server, so all code has to work on the client side. Is it possible to integrate this library into my Firefox Plugin (coded mostly in Javascript) such that everything runs on the client side?
Conditions:
I know this isn't the best way to go about developing a web plugin, but it is a requirement I'm faced with. I cannot run anything server side.
Emscripten is a tool I've heard about to convert C++ code to Javascript. For those who have used this tool, are there any deficits in functionality of the code (or even bugs) that arise when converting large libraries to Javascript?
I do not have access to the original source code of the library and thus cannot rewrite it myself in Javascript.
Further Details:
The C++ Library will be used to perform encryption and decryption as well as contact a server for information. Note: The library itself must be executed on the client side.
If C++ isn't viable, I have the option of using JNI to call C++ from a java wrapper application. Is there a way to execute Java code from the client side via the browser?
I apologize for lack of source code. I'm still at the planning stage of this project and I've been tearing my hair out trying to find a solution that fits the criteria.

Documenting a COM Object for Intellisense/Object Browser, etc

A C++ (native) application I'm working on uses a COM interface for its modules.
In the .odl file there are tonnes of documentation providing information outlining the function/parameters, etc..
Between the typelib generation, and subsequent tlbimp.exe importation; the interop assembly I get back to use in .NET includes only the function/interface names and a list of their parameters and types.
I'm wondering if there is any way (format documentation in a specific way / third party applications / parameters for tlbimp.exe / ???) that I could transfer this documentation across so that it appears in the Visual Studio object browser, or even better, the .NET intellisense.
Thanks,
You author auto-completion help for a COM automation component with the [helpstring] attribute in the IDL file. Unfortunately Tlbimp.exe does not support that, there is no mechanism in .NET to embed help text inside an assembly. .NET IntelliSense use .xml files, they are normally auto-generated from the source code with the /doc compiler option. They are much easier to localize.
While it sounds feasible to auto-generate the .xml file from the type library, I don't know anybody that has tackled this yet. A starting point would be the managed tlbimp project located here.

Software auto gen document on Eclipse

I have a project which was designed by SOAP. It was opened on eclipse.
I would like to use a software for auto generate a document(html file) for developer tutorial .
It was generated by comment on above function.
Thanks,
Use oxygen as stefan already said, it's free and you can get it here: http://www.doxygen.nl/download.html
Generate documentation from source code
Doxygen is the de facto standard tool for generating documentation
from annotated C++ sources, but it also supports other popular
programming languages such as C, Objective-C, C#, PHP, Java, Python,
IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL,
Tcl, and to some extent D.
Doxygen can help you in three ways:
It can generate an on-line documentation browser (in HTML) and/or an
off-line reference manual (in ) from a set of documented source files.
There is also support for generating output in RTF (MS-Word),
PostScript, hyperlinked PDF, compressed HTML, and Unix man pages. The
documentation is extracted directly from the sources, which makes it
much easier to keep the documentation consistent with the source code.
You can configure doxygen to extract the code structure from
undocumented source files. This is very useful to quickly find your
way in large source distributions. Doxygen can also visualize the
relations between the various elements by means of include dependency
graphs, inheritance diagrams, and collaboration diagrams, which are
all generated automatically. You can also use doxygen for creating
normal documentation (as I did for the doxygen user manual and
web-site). Doxygen is developed under Mac OS X and Linux, but is
set-up to be highly portable. As a result, it runs on most other Unix
flavors as well. Furthermore, executables for Windows are available.

parser for c++ headers to extract functions with standard linux tools?

Is there something like this? I need to extract C++ functions from header files with all the parameters they use. It would be nice if i can use standard Linux programs
You can use understand 4 C++ which is a front end tool that browse your source code and generate metrics for your source code. It also has a powerful API that allows you to write your own static analysis tools. So far understand works on windows, and a bunch of other linux based OS's. Though I've only used the windows based API.
It is found at:
http://scitools.com/