How to marshal following native C++ objects to C++/CLI?

Hi Everyone,

I am new to C++/CLI. I am trying to write a CLI wrapper on top of native C++ class.

I am a bit confused on how to marshal below mentioned C++ object to c++/CLI. Could you give me some ideas?

Native C++ Classes

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class HeaderMessage {
    double timestamp;
    string ric_code;
}

class TradeMessage {
   double price;
   int size;
}

class RFARecord
 {
public:
    RFARecord();
    HeaderMessage * hMsg;
    list<TradeMessage *> qMsgs;
 };


My C++/CLI classes look like this

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public ref class RFARecordRef
{
public:
    RFARecordRef();
    RFARecordRef(RFARecord *record);
    HeaderMessageRef hMsg;
    List<TradeMessageRef> tMsgs;
private:
    RFARecord *record;
};

    ref class HeaderMessageRef
    {
    private:
        HeaderMessage *hMsg;
    public:
        HeaderMessageRef(void);
    };

    ref class TradeMessageRef
    {
    private:
        TradeMessage *tMsg;
    public:
        TradeMessageRef(void);
    };


I am not sure if my approach is correct.

I read data from a text file and transfer this data in the form of RFARecords to my C# program.

What is the right way to wrap or marshal above data objects to C++/CLI which can then be consumed by my C# program.

Thanks in advance.

Regards, Alok
Topic archived. No new replies allowed.