[Rock-dev] log file converter
Janosch Machowinski
Janosch.Machowinski at dfki.de
Mon Jan 24 11:24:14 CET 2011
Is it possible, to get a Hash representing the source/target type ?
Then you could write converters for a special type only and not for a
whole Registry.
Greetings
Janosch
On 24.01.2011 10:31, Alexander Duda wrote:
> The first version of the log file converter is ready. I wrote some unit
> tests but I would recommend if you are using it DON'T delete your source
> files ;-).
>
> To convert all /base/Time fields into the new version the syntax would
> be:
> Converter.register_converter "my_converter",Time.now,Orocos.registry do
> register "/base/Time" do |dest,src|
> dest.microseconds = src.seconds * 1000000 + src.microseconds
> end
> end
>
> #Changing a type name:
> Converter.register_converter "my_converter",Time.now,Orocos.registry do
> register "/base/Time","/base/Time2" do |dest,src|
> dest.microseconds = src.seconds * 1000000 + src.microseconds
> end
> end
>
> #Changing an enum value
> Converter.register_converter "my_converter",Time.now,Orocos.registry do
> register "/base/MyEnum" do |dest,src|
> src = :bla if dest == :Test
> src = :bla2 if dest == :Test2
> end
> end
>
> #Converting more than one type on the same time
> Converter.register_converter "my_converter",Time.now,Orocos.registry do
> register "/base/MyEnum" do |dest,src|
> src = :bla if dest == :Test
> src = :bla2 if dest == :Test2
> end
> register "/base/MyEnum2" do |dest,src|
> src = :bla if dest == :Test
> src = :bla2 if dest == :Test2
> end
> end
>
> #Converting one field of a complex type
> Converter.register_converter "my_converter",Time.now,Orocos.registry do
> register "/base/samples/frame/Frame" do |dest,src|
> dest.time = Time.now
> exclude = [:self,"time"]
> deep_cast(dest,src, exclude) # auto copy+registered converters
> end
> end
>
> thoughts?
>
> Alex
>
>
>
--
Dipl. Inf. Janosch Machowinski
SAR-& Sicherheitsrobotik
DFKI Bremen
Robotics Innovation Center
Robert-Hooke-Straße 5
28359 Bremen, Germany
Phone: +49 (0)421 218-64100
Fax: +49 (0)421 218-64150
E-Mail: robotik at dfki.de
Weitere Informationen: http://www.dfki.de/robotik
-----------------------------------------------------------------------
Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
Firmensitz: Trippstadter Straße 122, D-67663 Kaiserslautern
Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
(Vorsitzender) Dr. Walter Olthoff
Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
Amtsgericht Kaiserslautern, HRB 2313
Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
USt-Id.Nr.: DE 148646973
Steuernummer: 19/673/0060/3
-----------------------------------------------------------------------
More information about the Rock-dev
mailing list