In Tuscany C++ the language implementation (C++, Python, etc) defines the
location of the .componentType file. For C++ we use the header=".." and
path=" .." attributes of implementation.cpp:

in fred.composite:

<implementation.cpp library="Calculator" header="CalculatorImpl.h"
path="abc/xyz"/>

The implementation library is abc/xyz/Calcualtor.dll (or
abc/xyz/libCalculator.so for linux). The compnentType file is named from the
implentation interface (header) so in the above will be located at
abc/xyz/CalculatorImpl.componentType.

The paths are relative to the composite root (location of the .composite
file).

Cheers,


On 20/06/07, Mike Edwards <[EMAIL PROTECTED]> wrote:

Ant,

In general, I would agree that there should be a simple and obvious
relationship between implementation artifact and componentType file.

However, consider the case of languages like C or C++ where multiple
implementations are bundled into a DLL.  The runtime file is the DLL,
but there must be multiple componentType files.  So now, what is the
relationship between them....

In these more complex cases, the implementation type defines the
relationship.

Yours,  Mike.

ant elder wrote:
> On 6/18/07, Mike Edwards <[EMAIL PROTECTED]> wrote:
>
> <snip>
>
>> How does that fit with the spec saying - ""A component type file has
the
>> > same name as the implementation file but has the extension
>> > ".componentType""
>> > ? I'm looking for a way to make the default case easy, it doesn't
have
>> to
>> > deal with every edge case.
>> <snip>
>>
>> Unfortunately, this is no edge case.  There is no reason to expect the
>> component name to be even close to the implementation name.
>
>
>
> AFAICT, unless there's an attribute in the SCDL to explicitly point to
it
> there has to be a way to find these things programatically, and for
humans
> to understand whats going on in a contribution it must be reasonably
> obvious
> which .componentType side file is associated with which implementation
just
> by eyeballing the files. Otherwise, what does this line in the spec
mean:
>
> 'A component type file has the same name as the implementation file but
has
> the extension ".componentType"'
>
>   ...ant
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Pete

Reply via email to