Yes, that's right. The meta method is generated only when necessary.
Generated types now get exported and the generated .jl file name matches
the module name.
- Tanmay.
On Sunday, March 2, 2014 11:09:53 PM UTC+5:30, Uwe Fechner wrote:
>
> Ok, if I look at the proto definition:
>
> message PositionECEF { // position of the kite in the "Earth
> Centered Earth Fixed" reference frame
> optional float latitude = 1; // -90.0 ..90.0, unit="deg"
> latitude, angular distance of the location
> // south or north of the Equator
> optional float longitude = 2; // -180.0 .. 180.0 unit="deg"
> longitude, east-west position of a point on
> // the Earth's surface
> optional float altitude = 3; // -500.0 .. 5000.0 unit="m" altitude
> above WGS-84 elipsoid
> }
>
> message OrientationEX { // Euler angles in earth reference frame
> required float phi = 1; // roll angle, -180.0 .. 180.0,
> unit="deg"
> required float theta = 2; // pitch angle, -90.0 .. 90.0
> unit="deg"
> required float psi = 3; // yaw/ heading angle, -180.0 .. 180.0,
> unit="deg"
> }
> then I see that in the type OrientationEX all fields are "required", while
> in
> PositionECEF they are optional. This makes sense now.
>
> Uwe
>
> On Sunday, March 2, 2014 6:34:10 PM UTC+1, Ivar Nesje wrote:
>>
>> I would guess (from the
>> README<https://github.com/tanmaykm/Protobuf.jl#protocol-buffer-metadata>)
>> that the meta line is used for metadata about the type. Probably the meta
>> function is not shown when object follows default behaviour.
>>
>> Ivar
>>
>> kl. 18:26:52 UTC+1 søndag 2. mars 2014 skrev Uwe Fechner følgende:
>>>
>>> Hi, if I look at the generated code, for example:
>>> type PositionECEF
>>> latitude::Float32
>>> longitude::Float32
>>> altitude::Float32
>>> PositionECEF() = new()
>>> end #type PositionECEF
>>>
>>> type OrientationEX
>>> phi::Float32
>>> theta::Float32
>>> psi::Float32
>>> OrientationEX() = new()
>>> end #type OrientationEX
>>> meta(t::Type{OrientationEX}) = meta(t, Symbol[:phi,:theta,:psi], Int[],
>>> Dict{Symbol,Any}())
>>>
>>> then I see that some type definitions are followed by a "meta" line and
>>> some are not.
>>> What is the use of this "meta" line?
>>>
>>> Regards: Uwe
>>>
>>> On Saturday, March 1, 2014 8:15:19 PM UTC+1, Tanmay K. Mohapatra wrote:
>>>>
>>>> I have now implemented the .proto parser and code generator. Was able
>>>> to generate Julia code for the file "asset.system.proto".
>>>> Do try out https://github.com/tanmaykm/Protobuf.jl and give your
>>>> feedback.
>>>> It is not yet a registered package, but shall do it in a couple of days.
>>>>
>>>> Regards,
>>>> Tanmay
>>>>
>>>>
>>>> On Monday, February 24, 2014 12:33:23 AM UTC+5:30, Uwe Fechner wrote:
>>>>>
>>>>> That's a good start.
>>>>>
>>>>> Perhaps the following file could be used as test case:
>>>>>
>>>>> https://bitbucket.org/ufechner/freekitesim/src/1df579321570a3c7fa2c157416f7326876bb9dda/asset/asset.system.proto?at=master
>>>>>
>>>>> Is there already a piece of code that can parse .proto files in Julia?
>>>>>
>>>>> Regards:
>>>>>
>>>>> Uwe
>>>>>
>>>>> On Sunday, February 23, 2014 6:09:22 PM UTC+1, Tanmay K. Mohapatra
>>>>> wrote:
>>>>>>
>>>>>> I have started working on a pure Julia Protobuf implementation here:
>>>>>> https://github.com/tanmaykm/Protobuf.jl. It's in very early stages,
>>>>>> but I plan to focus on it for the next few weeks. I have put up a few
>>>>>> lines
>>>>>> now about how I plan to develop it in the readme. Would love to hear
>>>>>> what
>>>>>> you think of it.
>>>>>>
>>>>>> - Tanmay
>>>>>>
>>>>>> On Sunday, February 23, 2014 10:14:27 PM UTC+5:30, Amit Murthy wrote:
>>>>>>>
>>>>>>> You may want to check out Tanmay's
>>>>>>> https://github.com/tanmaykm/Protobuf.jl
>>>>>>>
>>>>>>>
>>>>>>> On Sun, Feb 23, 2014 at 8:51 PM, Uwe Fechner
>>>>>>> <[email protected]>wrote:
>>>>>>>
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> our control and simulation software is highly modular, and we use
>>>>>>>> google protocol buffer
>>>>>>>> encoded messages over ZeroMQ sockets to communicate.
>>>>>>>>
>>>>>>>> What is the best approach to send and receive protobuf encoded
>>>>>>>> messages:
>>>>>>>>
>>>>>>>> a) using one of the C bindings; there are actually three:
>>>>>>>> - http://spbc.sourceforge.net/
>>>>>>>> - http://code.google.com/p/protobuf-c/
>>>>>>>> - http://koti.kapsi.fi/jpa/nanopb/
>>>>>>>>
>>>>>>>> b) using the Python library:
>>>>>>>>
>>>>>>>> https://developers.google.com/protocol-buffers/docs/pythontutorial
>>>>>>>> This one is officially supported by google in contrast to the C
>>>>>>>> bindings
>>>>>>>>
>>>>>>>> c) writing a full protobuf compiler, coder and decoder in Julia
>>>>>>>> directly
>>>>>>>>
>>>>>>>> Any comments welcome.
>>>>>>>>
>>>>>>>> Uwe Fechner
>>>>>>>>
>>>>>>>
>>>>>>>