casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Conversion.h
Go to the documentation of this file.
1 //# Conversion.h: conversion routines for dbus
2 //# Copyright (C) 2009
3 //# Associated Universities, Inc. Washington DC, USA.
4 //#
5 //# This library is free software; you can redistribute it and/or modify it
6 //# under the terms of the GNU Library General Public License as published by
7 //# the Free Software Foundation; either version 2 of the License, or (at your
8 //# option) any later version.
9 //#
10 //# This library is distributed in the hope that it will be useful, but WITHOUT
11 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13 //# License for more details.
14 //#
15 //# You should have received a copy of the GNU Library General Public License
16 //# along with this library; if not, write to the Free Software Foundation,
17 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18 //#
19 //# Correspondence concerning AIPS++ should be addressed as follows:
20 //# Internet email: aips2-request@nrao.edu.
21 //# Postal address: AIPS++ Project Office
22 //# National Radio Astronomy Observatory
23 //# 520 Edgemont Road
24 //# Charlottesville, VA 22903-2475 USA
25 //#
26 //# $Id$
27 
28 #ifndef DBUS_CONVERSION_H_
29 #define DBUS_CONVERSION_H_
30 #include <map>
31 #include <string>
32 #include <casa/Containers/Record.h>
33 #if defined(DBUS_CPP)
34 #include <dbus-cpp/dbus.h>
35 #else
36 #include <dbus-c++/dbus.h>
37 #endif
38 #include <casadbus/types/variant.h>
39 #include <casadbus/types/record.h>
40 #include <casa/Arrays/Vector.h>
41 
42 namespace casa {
43 
44  namespace dbus {
45  casacore::Record toRecord( const std::map<std::string,DBus::Variant> &mapIn );
46  std::map<std::string,DBus::Variant> fromRecord( const casacore::Record &record );
47 
48  variant toVariant( const DBus::Variant &src );
49 
50  std::map<std::string,variant> toStdMap( const std::map<std::string,DBus::Variant> &src );
51  std::map<std::string,DBus::Variant> fromStdMap( const std::map<std::string,variant> &src );
52 
53  DBus::Variant fromVariant( const variant &src );
54  void show( const variant &v );
55 
56  template<class t> std::vector<double> af( const casacore::Vector<t> &other ) {
57  std::vector<double> result(other.nelements( ));
58  for (unsigned int x=0; x < result.size(); ++x)
59  result[x] = (double) other[x];
60  return result;
61  }
62  }
63 }
64 
65 #endif
A 1-D Specialization of the Array class.
size_t nelements() const
How many elements does this array have? Product of all axis lengths.
Definition: ArrayBase.h:99
casacore::Record toRecord(const std::map< std::string, DBus::Variant > &mapIn)
void show(const variant &v)
std::map< std::string, variant > toStdMap(const std::map< std::string, DBus::Variant > &src)
todo: o create python to/from record functions o implement compare() o implement record_to_string() o...
Definition: record.h:48
std::vector< double > af(const casacore::Vector< t > &other)
Definition: Conversion.h:56
DBus::Variant fromVariant(const variant &src)
variant toVariant(const DBus::Variant &src)
A hierarchical collection of named fields of various types.
Definition: Record.h:180
std::map< std::string, DBus::Variant > fromRecord(const casacore::Record &record)
std::map< std::string, DBus::Variant > fromStdMap(const std::map< std::string, variant > &src)