Ethereal-dev: Re: [Ethereal-dev] support for C++

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Ulf Lamping <ulf.lamping@xxxxxx>
Date: Sun, 16 Jan 2005 17:38:21 +0100
Guy Harris wrote:

We should avoid using "class" as a structure member name, or as anything else that makes various Ethereal APIs unusable in C++.

Agreed.

That means renaming the "class" members of ber_sequence_t and ber_choice_t (presumably your dissector is for a protocol using BER-encoded ASN.1). Any votes on what it should be renamed to?

The right way to get rid of the problems with Xplugin_api_decls.h is to ensure that an Ethereal plugin can be built without using any of the "plugin API" mechanism - it should be possible to link it against the libethereal library and have it directly refer to functions in libethereal without having to go through pointers. The "plugin API" mechanism was a hack used before libethereal was a DLL that let us, on Windows, export its functions through standard DLL mechanisms; the only reason I see to keep it around is to allow older plugins to continue running, but, as we don't guarantee that the plugin ABI will remain the same from release to release, we can't guarantee that older plugins will continue to run in any case.

Is there any good reason whatsoever to continue to keep the "plugin API" around? It's a pain to maintain it.

I do agree that the maintenance is a pain, so I don't have any problems removing it.

But before removing it, please update the documentation *before*. I'm thinking of /doc/README.plugins and /plugins/README.interface.

Unfortunately, I don't have enough knowledge of doing so.

Regards, ULFL