Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IDL parser in IDE #4

Open
tandersoft opened this issue Mar 9, 2015 · 13 comments
Open

IDL parser in IDE #4

tandersoft opened this issue Mar 9, 2015 · 13 comments

Comments

@tandersoft
Copy link

I have the need to add new IDL interfaces to the system using an IDL Project wizard. They build and install correctly but the IDE uses an IDL parser to read installed IDL files and build a tree browser of interfaces, data types, constants, etc. that is used when specifying ports on components. The parser used for this is different from the parser used by the build tools when building IDL projects. The IDE parser has a bug that makes it reject some legal IDL. So when adding new IDL to the system (using an IDL Project), some legal IDL will build and install without error, but the interfaces do not appear in the IDL browser and so cannot be selected for ports in components.

IDL files that use the value of a const defined in the same file or in an included IDL file will be ignored and any interfaces, data types, constants, exceptions, etc. defined in that file will not appear in the browser.

For example, if Vocoder.idl defines:
const Algorithm ALG_NONE = 0;
and later defines:
const Algorithm ALG_RAW = ALG_NONE+1;
and VocoderCvsdExt.idl, which has a #include Vocoder.idl, defines:
const Algorithm ALG_CVSD = ALG_NONE + 4;
and an interface that contains:
const Mode Mode_NONE = 0;
const Mode KY57 = Mode_NONE+1;
const Mode Mode_MAX = KY57+1;

The use of ALG_NONE and Mode_NONE as values causes both Vocoder.idl and VocoderCvsdExt.idl to be ignored and none of their declared items appear in the browser, but other IDL files that include Vocoder.idl but do NOT use values of the constants appear in the browser.

This prevents me from using these interfaces in my components.

@tandersoft
Copy link
Author

BTW this problem is with version 1.10.0

@tandersoft
Copy link
Author

I just checked with RedHawk 2.0 and there is NO CHANGE. The problem still occurs in both the IDL Repository explorer and the IDL syntax-directed editor (which appear to use different parsers) but does NOT occur in the omniORB idl2cpp (omniidl) compiler which builds the idl project and allows it to install without error.

@jsrsarma
Copy link

I have similar problem with RedHawk 2.0.
When I started looking at this, i thought it was pretty neat.
I am wondering any support etc. I am little new here.
Sivaram

@tandersoft
Copy link
Author

I have not heard from developer team, but I was able to work around this particular IDL parsing problem but modifying the java code for the parser to simply ignore the exception. This is not a good fix since it allows the parser to also ignore true errors but it allowed me to use my installed interfaces. My fix would only work if you have this exact same issue, ie, using a constant's value in later declarations , such as setting values for a new const using it on the right side of = or using it as an array size, etc.

@jsrsarma
Copy link

I am trying to move a WAVEFORM application C++, ACE/ORB environment to REDHAWK IDE environment.

One of the requirement is to migrate lot of IDL's to the new environment where

new modules, new interfaces.

When I saw the new REDHAWK IDL project,

there is not much write up on importing an IDL project,

once I compile and export to the TARGET SDR environment, It shows in the TARGET SDR repository.

When configuring the ports, in the port Details section, it does not show up in the

BROWSE drop down menus as one of the interfaces that are already defined.

At this point, any thing I have tried is resulting in lot of build problems (java exceptions etc.).

A considerable amount of code base - starting from fresh on REDHAWK IDE is not a choice to move forward.

Any help is greatly appreciated.

thanks

sivaram


From: Terry L Anderson [email protected]
Sent: Monday, July 11, 2016 5:14 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide
Cc: jsrsarma; Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

I have not heard from developer team, but I was able to work around this particular IDL parsing problem but modifying the java code for the parser to simply ignore the exception. This is not a good fix since it allows the parser to also ignore true errors but it allowed me to use my installed interfaces. My fix would only work if you have this exact same issue, ie, using a constant's value in later declarations , such as setting values for a new const using it on the right side of = or using it as an array size, etc.

You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com//issues/4#issuecomment-231867362, or mute the threadhttps://github.com/notifications/unsubscribe/AAP25Wq5Z_5MWOkbSrE2uUp6NbaiLjaOks5qUrJEgaJpZM4Drx0e.

@tandersoft
Copy link
Author

If your new interfaces show in the Target SDR/IDL Repository then you do
NOT have the problem I originally wrote about and you should be able to
use your interfaces for ports. In Port Details click on Browse. The
popup window list shows only the 5 built in interface packages, but if
you check the Show all interfaces box near the bottom left then you
should see the same list that showed in IDL Repository. Perhaps you
were not checking that box?

On 7/13/2016 8:18 AM, jsrsarma wrote:

I am trying to move a WAVEFORM application C++, ACE/ORB environment to
REDHAWK IDE environment.

One of the requirement is to migrate lot of IDL's to the new
environment where

new modules, new interfaces.

When I saw the new REDHAWK IDL project,

there is not much write up on importing an IDL project,

once I compile and export to the TARGET SDR environment, It shows in
the TARGET SDR repository.

When configuring the ports, in the port Details section, it does not
show up in the

BROWSE drop down menus as one of the interfaces that are already defined.

At this point, any thing I have tried is resulting in lot of build
problems (java exceptions etc.).

A considerable amount of code base - starting from fresh on REDHAWK
IDE is not a choice to move forward.

Any help is greatly appreciated.

thanks

sivaram


From: Terry L Anderson [email protected]
Sent: Monday, July 11, 2016 5:14 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide
Cc: jsrsarma; Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

I have not heard from developer team, but I was able to work around
this particular IDL parsing problem but modifying the java code for
the parser to simply ignore the exception. This is not a good fix
since it allows the parser to also ignore true errors but it allowed
me to use my installed interfaces. My fix would only work if you have
this exact same issue, ie, using a constant's value in later
declarations , such as setting values for a new const using it on the
right side of = or using it as an array size, etc.

You are receiving this because you commented.
Reply to this email directly, view it on
GitHubhttps://github.com//issues/4#issuecomment-231867362,
or mute the
threadhttps://github.com/notifications/unsubscribe/AAP25Wq5Z_5MWOkbSrE2uUp6NbaiLjaOks5qUrJEgaJpZM4Drx0e.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#4 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AKsdIq0-z3mYvYEFU2M-2XtdHHeinht3ks5qVQHDgaJpZM4Drx0e.

Dr Terry L Anderson
TAndersoft LLC

@jsrsarma
Copy link

I am checking the box

i can see the interface

but not the "expanded interface"

where in I can select the types I would prefer to assign.

I am enclosing a scrreen shot of what I am seeing.

I am wondering if this is really a problem ( I hope not)

if it is just my misunderstanding or not going over the manual thoroughly.

I really appreciate.

thanks

sivaram


From: Terry L Anderson [email protected]
Sent: Wednesday, July 13, 2016 12:25 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide
Cc: jsrsarma; Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

If your new interfaces show in the Target SDR/IDL Repository then you do
NOT have the problem I originally wrote about and you should be able to
use your interfaces for ports. In Port Details click on Browse. The
popup window list shows only the 5 built in interface packages, but if
you check the Show all interfaces box near the bottom left then you
should see the same list that showed in IDL Repository. Perhaps you
were not checking that box?

On 7/13/2016 8:18 AM, jsrsarma wrote:

I am trying to move a WAVEFORM application C++, ACE/ORB environment to
REDHAWK IDE environment.

One of the requirement is to migrate lot of IDL's to the new
environment where

new modules, new interfaces.

When I saw the new REDHAWK IDL project,

there is not much write up on importing an IDL project,

once I compile and export to the TARGET SDR environment, It shows in
the TARGET SDR repository.

When configuring the ports, in the port Details section, it does not
show up in the

BROWSE drop down menus as one of the interfaces that are already defined.

At this point, any thing I have tried is resulting in lot of build
problems (java exceptions etc.).

A considerable amount of code base - starting from fresh on REDHAWK
IDE is not a choice to move forward.

Any help is greatly appreciated.

thanks

sivaram


From: Terry L Anderson [email protected]
Sent: Monday, July 11, 2016 5:14 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide
Cc: jsrsarma; Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

I have not heard from developer team, but I was able to work around
this particular IDL parsing problem but modifying the java code for
the parser to simply ignore the exception. This is not a good fix
since it allows the parser to also ignore true errors but it allowed
me to use my installed interfaces. My fix would only work if you have
this exact same issue, ie, using a constant's value in later
declarations , such as setting values for a new const using it on the
right side of = or using it as an array size, etc.

You are receiving this because you commented.
Reply to this email directly, view it on
GitHubhttps://github.com//issues/4#issuecomment-231867362,
or mute the
threadhttps://github.com/notifications/unsubscribe/AAP25Wq5Z_5MWOkbSrE2uUp6NbaiLjaOks5qUrJEgaJpZM4Drx0e.

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#4 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AKsdIq0-z3mYvYEFU2M-2XtdHHeinht3ks5qVQHDgaJpZM4Drx0e.

Dr Terry L Anderson
TAndersoft LLC

You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com//issues/4#issuecomment-232409445, or mute the threadhttps://github.com/notifications/unsubscribe/AAP25ZvP1m0uEdo-59JYc6DkSEZog5Lhks5qVRGNgaJpZM4Drx0e.

@jsrsarma
Copy link

Forgot to include,

this is how JTRS is defined.

#include "ossie/CF/cf.idl"
#include "ossie/CF/PortTypes.idl"

module JTRS {
//
// ExtEnum - Extensible 'enum'
// Used instead of intrinsic enum unless the definition is complete.
// Enumeration values should be maintained as constant values by the
// owning service or its extensions
typedef unsigned short ExtEnum;
typedef sequence ExtEnumSequence;
// Unbounded intrinsic sequence types
// The 'floating point'types are not defined here as they will be
// avoided on resource restricted platforms and the use of floating
// point will be limited in the JTRS APIs.
//
typedef CF::OctetSequence OctetSequence;
typedef CF::StringSequence StringSequence;

    typedef PortTypes::BooleanSequence BooleanSequence;
    typedef PortTypes::CharSequence CharSequence;
    typedef PortTypes::LongLongSequence LongLongSequence;

From: sivaram Tenali [email protected]
Sent: Wednesday, July 13, 2016 12:53 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide; RedhawkSDR/eclipse-gov.redhawk.ide
Cc: Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

I am checking the box

i can see the interface

but not the "expanded interface"

where in I can select the types I would prefer to assign.

I am enclosing a scrreen shot of what I am seeing.

I am wondering if this is really a problem ( I hope not)

if it is just my misunderstanding or not going over the manual thoroughly.

I really appreciate.

thanks

sivaram


From: Terry L Anderson [email protected]
Sent: Wednesday, July 13, 2016 12:25 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide
Cc: jsrsarma; Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

If your new interfaces show in the Target SDR/IDL Repository then you do
NOT have the problem I originally wrote about and you should be able to
use your interfaces for ports. In Port Details click on Browse. The
popup window list shows only the 5 built in interface packages, but if
you check the Show all interfaces box near the bottom left then you
should see the same list that showed in IDL Repository. Perhaps you
were not checking that box?

On 7/13/2016 8:18 AM, jsrsarma wrote:

I am trying to move a WAVEFORM application C++, ACE/ORB environment to
REDHAWK IDE environment.

One of the requirement is to migrate lot of IDL's to the new
environment where

new modules, new interfaces.

When I saw the new REDHAWK IDL project,

there is not much write up on importing an IDL project,

once I compile and export to the TARGET SDR environment, It shows in
the TARGET SDR repository.

When configuring the ports, in the port Details section, it does not
show up in the

BROWSE drop down menus as one of the interfaces that are already defined.

At this point, any thing I have tried is resulting in lot of build
problems (java exceptions etc.).

A considerable amount of code base - starting from fresh on REDHAWK
IDE is not a choice to move forward.

Any help is greatly appreciated.

thanks

sivaram


From: Terry L Anderson [email protected]
Sent: Monday, July 11, 2016 5:14 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide
Cc: jsrsarma; Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

I have not heard from developer team, but I was able to work around
this particular IDL parsing problem but modifying the java code for
the parser to simply ignore the exception. This is not a good fix
since it allows the parser to also ignore true errors but it allowed
me to use my installed interfaces. My fix would only work if you have
this exact same issue, ie, using a constant's value in later
declarations , such as setting values for a new const using it on the
right side of = or using it as an array size, etc.

You are receiving this because you commented.
Reply to this email directly, view it on
GitHubhttps://github.com//issues/4#issuecomment-231867362,
or mute the
threadhttps://github.com/notifications/unsubscribe/AAP25Wq5Z_5MWOkbSrE2uUp6NbaiLjaOks5qUrJEgaJpZM4Drx0e.

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#4 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AKsdIq0-z3mYvYEFU2M-2XtdHHeinht3ks5qVQHDgaJpZM4Drx0e.

Dr Terry L Anderson
TAndersoft LLC

You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com//issues/4#issuecomment-232409445, or mute the threadhttps://github.com/notifications/unsubscribe/AAP25ZvP1m0uEdo-59JYc6DkSEZog5Lhks5qVRGNgaJpZM4Drx0e.

@tandersoft
Copy link
Author

Got the idl file contents below but not a screen shot. I have built and
installed this same IDL. JTRS shows up in IDL Repository and can be
expanded there to show the type entries (circle with T in it). But
cannot be expanded in the Port Details because that only lists
interfaces and this JtrsCorbaTypes.idl file does not contain any
interfaces. It simply adds additional data types to the JTRS module for
use in other modules. For example, Packet.idl includes
JtrsCorbaTypes.idl so that it can use these types. But there are no
interfaces in it that can be assigned to a port.

On 7/13/2016 10:04 AM, jsrsarma wrote:

Forgot to include,

this is how JTRS is defined.

#include "ossie/CF/cf.idl"
#include "ossie/CF/PortTypes.idl"

module JTRS {
//
// ExtEnum - Extensible 'enum'
// Used instead of intrinsic enum unless the definition is complete.
// Enumeration values should be maintained as constant values by the
// owning service or its extensions
typedef unsigned short ExtEnum;
typedef sequence ExtEnumSequence;
// Unbounded intrinsic sequence types
// The 'floating point'types are not defined here as they will be
// avoided on resource restricted platforms and the use of floating
// point will be limited in the JTRS APIs.
//
typedef CF::OctetSequence OctetSequence;
typedef CF::StringSequence StringSequence;

typedef PortTypes::BooleanSequence BooleanSequence;
typedef PortTypes::CharSequence CharSequence;
typedef PortTypes::LongLongSequence LongLongSequence;


From: sivaram Tenali [email protected]
Sent: Wednesday, July 13, 2016 12:53 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide; RedhawkSDR/eclipse-gov.redhawk.ide
Cc: Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

I am checking the box

i can see the interface

but not the "expanded interface"

where in I can select the types I would prefer to assign.

I am enclosing a scrreen shot of what I am seeing.

I am wondering if this is really a problem ( I hope not)

if it is just my misunderstanding or not going over the manual thoroughly.

I really appreciate.

thanks

sivaram


From: Terry L Anderson [email protected]
Sent: Wednesday, July 13, 2016 12:25 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide
Cc: jsrsarma; Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

If your new interfaces show in the Target SDR/IDL Repository then you do
NOT have the problem I originally wrote about and you should be able to
use your interfaces for ports. In Port Details click on Browse. The
popup window list shows only the 5 built in interface packages, but if
you check the Show all interfaces box near the bottom left then you
should see the same list that showed in IDL Repository. Perhaps you
were not checking that box?

On 7/13/2016 8:18 AM, jsrsarma wrote:

I am trying to move a WAVEFORM application C++, ACE/ORB environment to
REDHAWK IDE environment.

One of the requirement is to migrate lot of IDL's to the new
environment where

new modules, new interfaces.

When I saw the new REDHAWK IDL project,

there is not much write up on importing an IDL project,

once I compile and export to the TARGET SDR environment, It shows in
the TARGET SDR repository.

When configuring the ports, in the port Details section, it does not
show up in the

BROWSE drop down menus as one of the interfaces that are already
defined.

At this point, any thing I have tried is resulting in lot of build
problems (java exceptions etc.).

A considerable amount of code base - starting from fresh on REDHAWK
IDE is not a choice to move forward.

Any help is greatly appreciated.

thanks

sivaram


From: Terry L Anderson [email protected]
Sent: Monday, July 11, 2016 5:14 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide
Cc: jsrsarma; Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

I have not heard from developer team, but I was able to work around
this particular IDL parsing problem but modifying the java code for
the parser to simply ignore the exception. This is not a good fix
since it allows the parser to also ignore true errors but it allowed
me to use my installed interfaces. My fix would only work if you have
this exact same issue, ie, using a constant's value in later
declarations , such as setting values for a new const using it on the
right side of = or using it as an array size, etc.

You are receiving this because you commented.
Reply to this email directly, view it on

GitHubhttps://github.com//issues/4#issuecomment-231867362,
or mute the

threadhttps://github.com/notifications/unsubscribe/AAP25Wq5Z_5MWOkbSrE2uUp6NbaiLjaOks5qUrJEgaJpZM4Drx0e.

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub

#4 (comment),
or mute the thread

https://github.com/notifications/unsubscribe/AKsdIq0-z3mYvYEFU2M-2XtdHHeinht3ks5qVQHDgaJpZM4Drx0e.

Dr Terry L Anderson
TAndersoft LLC

You are receiving this because you commented.
Reply to this email directly, view it on
GitHubhttps://github.com//issues/4#issuecomment-232409445,
or mute the
threadhttps://github.com/notifications/unsubscribe/AAP25ZvP1m0uEdo-59JYc6DkSEZog5Lhks5qVRGNgaJpZM4Drx0e.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#4 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AKsdIlEpYts2Cm7tliQ3fXsL_lFTnmlSks5qVRqigaJpZM4Drx0e.

Dr Terry L Anderson
TAndersoft

@tandersoft
Copy link
Author

I should add that the ExtEnum use is exactly where the other problem
shows up. A very typical feature in the JTRS public API IDLs that use
the ExtEnum is enums like this from Vocoder.idl.

const Algorithm ALG_NONE = 0;

then later

const Algorithm ALG_RAW = ALG_NONE+1;

this IDL code will be rejected by RedHawk's parser and so the entire idl
file containing it and its contents will be ignored and not appear in
the IDL Repository list. The first const is fine and if the second is
changed to

const Algorithm ALG_RAW = 1

it will parse ok, but the former form is much easier to maintain and is
used by many JTRS API IDL files.

On 7/13/2016 10:04 AM, jsrsarma wrote:

Forgot to include,

this is how JTRS is defined.

#include "ossie/CF/cf.idl"
#include "ossie/CF/PortTypes.idl"

module JTRS {
//
// ExtEnum - Extensible 'enum'
// Used instead of intrinsic enum unless the definition is complete.
// Enumeration values should be maintained as constant values by the
// owning service or its extensions
typedef unsigned short ExtEnum;
typedef sequence ExtEnumSequence;
// Unbounded intrinsic sequence types
// The 'floating point'types are not defined here as they will be
// avoided on resource restricted platforms and the use of floating
// point will be limited in the JTRS APIs.
//
typedef CF::OctetSequence OctetSequence;
typedef CF::StringSequence StringSequence;

typedef PortTypes::BooleanSequence BooleanSequence;
typedef PortTypes::CharSequence CharSequence;
typedef PortTypes::LongLongSequence LongLongSequence;


From: sivaram Tenali [email protected]
Sent: Wednesday, July 13, 2016 12:53 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide; RedhawkSDR/eclipse-gov.redhawk.ide
Cc: Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

I am checking the box

i can see the interface

but not the "expanded interface"

where in I can select the types I would prefer to assign.

I am enclosing a scrreen shot of what I am seeing.

I am wondering if this is really a problem ( I hope not)

if it is just my misunderstanding or not going over the manual thoroughly.

I really appreciate.

thanks

sivaram


From: Terry L Anderson [email protected]
Sent: Wednesday, July 13, 2016 12:25 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide
Cc: jsrsarma; Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

If your new interfaces show in the Target SDR/IDL Repository then you do
NOT have the problem I originally wrote about and you should be able to
use your interfaces for ports. In Port Details click on Browse. The
popup window list shows only the 5 built in interface packages, but if
you check the Show all interfaces box near the bottom left then you
should see the same list that showed in IDL Repository. Perhaps you
were not checking that box?

On 7/13/2016 8:18 AM, jsrsarma wrote:

I am trying to move a WAVEFORM application C++, ACE/ORB environment to
REDHAWK IDE environment.

One of the requirement is to migrate lot of IDL's to the new
environment where

new modules, new interfaces.

When I saw the new REDHAWK IDL project,

there is not much write up on importing an IDL project,

once I compile and export to the TARGET SDR environment, It shows in
the TARGET SDR repository.

When configuring the ports, in the port Details section, it does not
show up in the

BROWSE drop down menus as one of the interfaces that are already
defined.

At this point, any thing I have tried is resulting in lot of build
problems (java exceptions etc.).

A considerable amount of code base - starting from fresh on REDHAWK
IDE is not a choice to move forward.

Any help is greatly appreciated.

thanks

sivaram


From: Terry L Anderson [email protected]
Sent: Monday, July 11, 2016 5:14 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide
Cc: jsrsarma; Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

I have not heard from developer team, but I was able to work around
this particular IDL parsing problem but modifying the java code for
the parser to simply ignore the exception. This is not a good fix
since it allows the parser to also ignore true errors but it allowed
me to use my installed interfaces. My fix would only work if you have
this exact same issue, ie, using a constant's value in later
declarations , such as setting values for a new const using it on the
right side of = or using it as an array size, etc.

You are receiving this because you commented.
Reply to this email directly, view it on

GitHubhttps://github.com//issues/4#issuecomment-231867362,
or mute the

threadhttps://github.com/notifications/unsubscribe/AAP25Wq5Z_5MWOkbSrE2uUp6NbaiLjaOks5qUrJEgaJpZM4Drx0e.

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub

#4 (comment),
or mute the thread

https://github.com/notifications/unsubscribe/AKsdIq0-z3mYvYEFU2M-2XtdHHeinht3ks5qVQHDgaJpZM4Drx0e.

Dr Terry L Anderson
TAndersoft LLC

You are receiving this because you commented.
Reply to this email directly, view it on
GitHubhttps://github.com//issues/4#issuecomment-232409445,
or mute the
threadhttps://github.com/notifications/unsubscribe/AAP25ZvP1m0uEdo-59JYc6DkSEZog5Lhks5qVRGNgaJpZM4Drx0e.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#4 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AKsdIlEpYts2Cm7tliQ3fXsL_lFTnmlSks5qVRqigaJpZM4Drx0e.

Dr Terry L Anderson
TAndersoft

@jsrsarma
Copy link

Hello Terry

StreamControlType UNDEFINED

PortTypes - UNDEFINED

where to include paths

I appreciate.

thanks

sivaram


#include "ossie/CF/cf.idl" NOT RESOLVED
//#include "/usr/local/redhawk/core/share/idl/ossie/CF/cf.idl"
#include "ossie/CF/PortTypes.idl" NOT RESOLVED

module xpkt
{
interface OctetStream : PayloadStatus
{
void push_packet( in StreamControlType control, in PortTypes::OctetSequence info );
};
}



From: Terry L Anderson [email protected]
Sent: Wednesday, July 13, 2016 2:01 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide
Cc: jsrsarma; Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

I should add that the ExtEnum use is exactly where the other problem
shows up. A very typical feature in the JTRS public API IDLs that use
the ExtEnum is enums like this from Vocoder.idl.

const Algorithm ALG_NONE = 0;

then later

const Algorithm ALG_RAW = ALG_NONE+1;

this IDL code will be rejected by RedHawk's parser and so the entire idl
file containing it and its contents will be ignored and not appear in
the IDL Repository list. The first const is fine and if the second is
changed to

const Algorithm ALG_RAW = 1

it will parse ok, but the former form is much easier to maintain and is
used by many JTRS API IDL files.

@tandersoft
Copy link
Author

StreamControlType is in Packet.idl and include/redhawk/*/Packet.h
assuming you have build and installed the idl

PortTypes is in ossie/CF/PortTypes.idl and include/ossie/CF/PortTypes.h

If you have installed all the required/included IDL then I would just
search $OSSIE_HOME/include/[ossie,redhawk]//.h

You need to add any additional idl directories to RedHawk's
Window->Preferences->REDHAWK->Target Platform->IDL Locations
unless you want to put the paths into #include /*.idl. The JTRS
Standard IDLs assume that IDLs are in a single directory or in the IDL
path and so you either need to add to the path or edit each #include.

and since OSSIE names CF.idl as "cf.idl" while all the JTRS Standard
idl's include it as CF.idl I also install a symbolic link from cf.idl
to CF.idl.

On 7/13/2016 2:14 PM, jsrsarma wrote:

Hello Terry

StreamControlType UNDEFINED

PortTypes - UNDEFINED

where to include paths

I appreciate.

thanks

sivaram


#include "ossie/CF/cf.idl" NOT RESOLVED
//#include "/usr/local/redhawk/core/share/idl/ossie/CF/cf.idl"
#include "ossie/CF/PortTypes.idl" NOT RESOLVED

module xpkt
{
interface OctetStream : PayloadStatus
{
void push_packet( in StreamControlType control, in
PortTypes::OctetSequence info );
};
}



From: Terry L Anderson [email protected]
Sent: Wednesday, July 13, 2016 2:01 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide
Cc: jsrsarma; Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

I should add that the ExtEnum use is exactly where the other problem
shows up. A very typical feature in the JTRS public API IDLs that use
the ExtEnum is enums like this from Vocoder.idl.

const Algorithm ALG_NONE = 0;

then later

const Algorithm ALG_RAW = ALG_NONE+1;

this IDL code will be rejected by RedHawk's parser and so the entire idl
file containing it and its contents will be ignored and not appear in
the IDL Repository list. The first const is fine and if the second is
changed to

const Algorithm ALG_RAW = 1

it will parse ok, but the former form is much easier to maintain and is
used by many JTRS API IDL files.


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#4 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AKsdIn8IIcLjkDsIGbtosZvZoq7bB3cZks5qVVU8gaJpZM4Drx0e.

Dr Terry L Anderson
TAndersoft

@jsrsarma
Copy link

Hello Terry
Both
CF::OctetSequence, PortTypes::UshortSequence
are getting as undefined types.
this is my idl. I have created idlProject .
I have also set it in window->preferences>Target Platform under IDL Locations
these are the settings I have.
${OssieHome}/share/idl
/usr/share/idl/omniORB
/usr/share/idl/omniORB/COS
/usr/local/redhawk/core/share/idl/ossie/CF

I am wondering anything further I am still missing.
I am using CENTOS6.8, REDHAWK 2.0
I really appreciate.
thanks
Sivaram


#include "/usr/local/redhawk/core/share/idl/ossie/CF/cf.idl
#include "/usr/local/redhawk/core/share/idl/ossie/CF/PortTypes.idl"

module Packet
{
struct StreamControlType
{
boolean endOfStream; // Indicates whether it is end of stream or not.
Stream streamId; // Identification number for the stream.
SeqNum sequenceNumber; // The sequence number for the stream.
boolean purge; // Indicates whether to purge the stream or not.
};
interface OctetStream : PayloadStatus
{
void pushPacket( in StreamControlType control, in CF::OctetSequence payload )
};

interface UshortStream : PayloadStatus
{
    void pushPacket( in StreamControlType control, in PortTypes::UshortSequence payload )
};

};


From: Terry L Anderson [email protected]
Sent: Wednesday, July 13, 2016 5:45 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide
Cc: jsrsarma; Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

StreamControlType is in Packet.idl and include/redhawk/*/Packet.h
assuming you have build and installed the idl

PortTypes is in ossie/CF/PortTypes.idl and include/ossie/CF/PortTypes.h

If you have installed all the required/included IDL then I would just
search $OSSIE_HOME/include/[ossie,redhawk]//.h

You need to add any additional idl directories to RedHawk's
Window->Preferences->REDHAWK->Target Platform->IDL Locations
unless you want to put the paths into #include /*.idl. The JTRS
Standard IDLs assume that IDLs are in a single directory or in the IDL
path and so you either need to add to the path or edit each #include.

and since OSSIE names CF.idl as "cf.idl" while all the JTRS Standard
idl's include it as CF.idl I also install a symbolic link from cf.idl
to CF.idl.

On 7/13/2016 2:14 PM, jsrsarma wrote:

Hello Terry

StreamControlType UNDEFINED

PortTypes - UNDEFINED

where to include paths

I appreciate.

thanks

sivaram


#include "ossie/CF/cf.idl" NOT RESOLVED
//#include "/usr/local/redhawk/core/share/idl/ossie/CF/cf.idl"
#include "ossie/CF/PortTypes.idl" NOT RESOLVED

module xpkt
{
interface OctetStream : PayloadStatus
{
void push_packet( in StreamControlType control, in
PortTypes::OctetSequence info );
};
}



From: Terry L Anderson [email protected]
Sent: Wednesday, July 13, 2016 2:01 PM
To: RedhawkSDR/eclipse-gov.redhawk.ide
Cc: jsrsarma; Comment
Subject: Re: [RedhawkSDR/eclipse-gov.redhawk.ide] IDL parser in IDE (#4)

I should add that the ExtEnum use is exactly where the other problem
shows up. A very typical feature in the JTRS public API IDLs that use
the ExtEnum is enums like this from Vocoder.idl.

const Algorithm ALG_NONE = 0;

then later

const Algorithm ALG_RAW = ALG_NONE+1;

this IDL code will be rejected by RedHawk's parser and so the entire idl
file containing it and its contents will be ignored and not appear in
the IDL Repository list. The first const is fine and if the second is
changed to

const Algorithm ALG_RAW = 1

it will parse ok, but the former form is much easier to maintain and is
used by many JTRS API IDL files.

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#4 (comment),
or mute the thread
https://github.com/notifications/unsubscribe/AKsdIn8IIcLjkDsIGbtosZvZoq7bB3cZks5qVVU8gaJpZM4Drx0e.

Dr Terry L Anderson
TAndersoft

You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com//issues/4#issuecomment-232496419, or mute the threadhttps://github.com/notifications/unsubscribe/AAP25RkXXz9O5zxfrJ0zTwfO2iwcLQaYks5qVVyKgaJpZM4Drx0e.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants