OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-c-cpp-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: AW: [sca-c-cpp-comment] @header attribute of the <implementation.cpp> element


Hi Bryan!

 

After discussing you answer in our team, the issue is still unclear to us.

 

> The attribute was removed because the headers are related to interfaces, not implementations

 

Correct me if I’m wrong, but aren’t there actually two types of headers: those that are related to interfaces
(containing the abstract service class definitions, such as MyService.h) and also those related to implementations
(such as MyServiceImpl.h).

 

> In, fact, and implementation  could be for a componentType with multiple interfaces.

 

Yes, in that cause you would have multiple interface headers (MyServiceA.h, MyServiceB.h etc.) but still only one
implementation header (MyServiceABImpl.h).

 

> To find an appropriate header, if it is even needed at runtime, one needs to work through the componentType.

 

So you mean, to extract the information from the <interface.cpp>/@header attributes. Yes that’s right but
this holds only for interface  related headers.

 

The implementation header is needed at least in order to extract the source code annotations.

 

“The annotations are defined as C++ comments in interface and implementation header files […]” (line 1750, SCA CPP Spec).

 

Furthermore, according to the CPP20001:

“A C++ implementation MUST implement all of the operation(s) of the service

  interface(s) of its componentType.” For the runtime to be able to verify this specification,
 it needs to identify the implementation header.”

 

In our case, we also need the path to the header file in order to include it into the generated reflection code.

 

So are we talking at cross purposes or are there really some inconsistencies in the spec? Please enlighten us ;-)

 

Regards
Konstantin

 

Von: Bryan Aupperle [mailto:aupperle@us.ibm.com]
Gesendet: Dienstag, 5. Juni 2012 18:52
An: Sokolov, Konstantin (ext); sca-c-cpp@lists.oasis-open.org; sca-c-cpp-comment@lists.oasis-open.org
Cc: Smirnov, Alexander; Kwemou Ngandeu, Emeric; Tatli, Ipek; Erkmen, Muge; Hoeller, Oliver (ext); sca-c-cpp-comment@lists.oasis-open.org
Betreff: Re: [sca-c-cpp-comment] @header attribute of the <implementation.cpp> element

 

Yes, this is the correct list for posting questions and comments about this specification.

You have found an error in the schema. The @header element of the <implementation.cpp> element was removed quite some time ago. This is reflected in the specification text and pseudo-schema you reference, but was apparently never removed from the schema itself or the copy of it in the appendix. The attribute was removed because the headers are related to interfaces, not implementations. In, fact, and implementation  could be for a componentType with multiple interfaces. To find an appropriate header, if it is even needed at runtime, one needs to work through the componentType.

I will open an issue to track this, but please be aware that the TC is not actively working on the specifications right now.

Bryan Aupperle. PhD
Software Client Architect - Mid-Atlantic
Senior Technical Staff Member

Raleigh, NC
Mobile: 919-656-0018

aupperle@us.ibm.com




From:        "Sokolov, Konstantin (ext)" <konstantin.sokolov.ext@siemens.com>
To:        "sca-c-cpp-comment@lists.oasis-open.org" <sca-c-cpp-comment@lists.oasis-open.org>
Cc:        "Erkmen, Muge" <muge.erkmen@siemens.com>, "Tatli, Ipek" <ipek.tatli@siemens.com>, "Kwemou Ngandeu, Emeric" <emeric.kwemou_ngandeu@siemens.com>, "Hoeller, Oliver (ext)" <oliver.hoeller.ext@siemens.com>, "Smirnov, Alexander" <alexander.smirnov@siemens.com>
Date:        06/01/2012 09:14 AM
Subject:        [sca-c-cpp-comment] @header attribute of the <implementation.cpp> element





Hi Folks!
 
I’m working in a team at Siemens Corporate Technology on an C++ SCA Runtime implementation called “Trentino” (see http://trentino.sourceforge.net/) .
As time passed, we collected some questions and unclear issues regarding the SCA specs. I hope this is the right place to pose them. Actually, only one to
start with ;-)

 
The question is concerning the C++ spec from 14 October 2010: http://docs.oasis-open.org/opencsa/sca-c-cpp/sca-cppcni-1.1-spec-cd06.pdf.
According to line 3421 the @header attribute of the <implementation.cpp> element is of type NCName (by the way:  @header is neither mentioned
in the pseoudo-schema snippet in line 417ff. nor  in the list starting at line 431), so that it’s not possible to specify paths within this attribute. The question is:
how then the runtime is supposed to find the corresponding header? Are there any conventions, such as to search for it in the directory specified via @componentType? Since the @header attribute of <interface.cpp> is of type string and may contain also paths, making the @header attribute of <implementation.cpp> be an NCName  seems somehow inconsistent.

 
Thanks in advance
Konstantin Sokolov
 
 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]