[pytango] 458/483: Restructure sip directories; Try implementation of AttributeInfoEx

Sandor Bodo-Merle sbodomerle-guest at moszumanska.debian.org
Thu Sep 28 19:15:12 UTC 2017


This is an automated email from the git hooks/post-receive script.

sbodomerle-guest pushed a commit to annotated tag bliss_8.10
in repository pytango.

commit 6fa49bc12c3b14341172aa39355b74a5c050c1b6
Author: coutinho <coutinho at esrf.fr>
Date:   Mon Apr 13 18:51:41 2015 +0200

    Restructure sip directories; Try implementation of AttributeInfoEx
---
 src/sip/Tango/__init__.py                          |  29 ++++
 src/sip/{ => Tango}/__init_tango.py                |  16 +-
 src/sip/{ => Tango}/release.py                     |   0
 src/sip/setup.py                                   |  25 +--
 src/sip/{ => sip}/AttributeInfo.sip                |   4 +-
 src/sip/sip/AttributeInfoEx.sip                    | 176 +++++++++++++++++++++
 src/sip/{ => sip}/CommandInfo.sip                  |   0
 src/sip/{ => sip}/Database.sip                     |   0
 src/sip/{ => sip}/DbData.sip                       |   0
 src/sip/{ => sip}/DbDatum.sip                      |   0
 src/sip/{ => sip}/DbDevImportInfo.sip              |   0
 src/sip/{ => sip}/DbDevInfo.sip                    |   0
 .../DeviceAttribute.sip}                           |  25 +--
 src/sip/{ => sip}/DeviceAttributeConfig.sip        |   0
 src/sip/{ => sip}/DeviceInfo.sip                   |   0
 src/sip/{ => sip}/DeviceProxy.sip                  |  11 +-
 src/sip/{ => sip}/Tango.sip                        |   7 +-
 src/sip/{ => sip}/configure.py                     |  29 ++--
 src/sip/{ => sip}/connection.sip                   |   0
 src/sip/{ => sip}/constants.sip                    |  70 +++++++-
 src/sip/{ => sip}/std_utils.sip                    |   0
 21 files changed, 335 insertions(+), 57 deletions(-)

diff --git a/src/sip/Tango/__init__.py b/src/sip/Tango/__init__.py
new file mode 100644
index 0000000..58a1214
--- /dev/null
+++ b/src/sip/Tango/__init__.py
@@ -0,0 +1,29 @@
+# ------------------------------------------------------------------------------
+# This file is part of PyTango (http://www.tinyurl.com/PyTango)
+#
+# Copyright 2006-2012 CELLS / ALBA Synchrotron, Bellaterra, Spain
+# Copyright 2013-2014 European Synchrotron Radiation Facility, Grenoble, France
+#
+# Distributed under the terms of the GNU Lesser General Public License,
+# either version 3 of the License, or (at your option) any later version.
+# See LICENSE.txt for more info.
+# ------------------------------------------------------------------------------
+
+from . import release 
+__author__ = release.Release.author_lines
+__version_info__ = release.Release.version_info
+__version__ = release.Release.version
+__version_long__ = release.Release.version_long
+__version_number__ = release.Release.version_number
+__version_description__ = release.Release.version_description
+__doc__ = release.Release.long_description
+del release
+
+from . import __init_tango
+from . import Tango
+__init_tango.init(Tango, None)
+del __init_tango
+del Tango
+
+from .Tango import *
+
diff --git a/src/sip/__init_tango.py b/src/sip/Tango/__init_tango.py
similarity index 82%
rename from src/sip/__init_tango.py
rename to src/sip/Tango/__init_tango.py
index ea3a53c..e6dce8e 100644
--- a/src/sip/__init_tango.py
+++ b/src/sip/Tango/__init_tango.py
@@ -9,9 +9,8 @@
 # See LICENSE.txt for more info.
 # ------------------------------------------------------------------------------
 
-import collections
-
 def __inc_param(obj, name):
+    import collections
     ret = not name.startswith('_')
     ret &= not name in ('except_flags',)
     ret &= not isinstance(getattr(obj, name), collections.Callable)
@@ -28,7 +27,7 @@ def __struct_params_s(obj, separator=', ', f=repr, fmt='%s = %s'):
 
 def __struct_params_repr(obj):
     """method wrapper for representing all elements of a struct"""
-    return __struct_params_s(obj)
+    return __struct_params_s(obj, fmt='%s=%s')
 
 def __struct_params_str(obj, fmt, f=repr):
     """method wrapper for printing all elements of a struct."""
@@ -41,16 +40,20 @@ def __repr__Struct(self):
 def __str__Struct_Helper(self, f=repr):
     """str method for struct"""
     attrs = [ n for n in dir(self) if __inc_param(self, n)]
-    fmt = attrs and '%%%ds=%%s' % max(map(len, attrs)) or "%s = %s"
+    fmt = attrs and '%%%ds = %%s' % max(map(len, attrs)) or "%s = %s"
     return '%s(\n%s)\n' % (self.__class__.__name__, __struct_params_str(self, fmt, f))
 
 def __str__Struct(self):
-    return __str__Struct_Helper(self, f=repr)
+    return __str__Struct_Helper(self)
 
 def __registerStructStr(Tango):
     """helper method to register str and repr methods for structures"""
     structs = (Tango.DeviceInfo, Tango.DbDevImportInfo, Tango.DbDatum,
-        Tango.AttributeInfo)
+               Tango.AttributeInfo, Tango.AttributeInfoEx,
+               Tango.ChangeEventInfo, Tango.PeriodicEventInfo,
+               Tango.ArchiveEventInfo, Tango.AttributeAlarmInfo,
+               Tango.AttributeEventInfo,
+               Tango.AttributeInfo, Tango.CommandInfo)
 
     for struct in structs:
         struct.__str__ = __str__Struct
@@ -59,7 +62,6 @@ def __registerStructStr(Tango):
 def __pprint_init(Tango):
     __registerStructStr(Tango)
 
-
 def init(Tango, Tangodict):
     __pprint_init(Tango)
     return 1
diff --git a/src/sip/release.py b/src/sip/Tango/release.py
similarity index 100%
rename from src/sip/release.py
rename to src/sip/Tango/release.py
diff --git a/src/sip/setup.py b/src/sip/setup.py
index 06ffc78..e39ebb7 100644
--- a/src/sip/setup.py
+++ b/src/sip/setup.py
@@ -10,15 +10,15 @@
 # ------------------------------------------------------------------------------
 
 import os
-import sys
 import imp
+import sys
 import struct
 import platform
 import subprocess
 
 from distutils.core import setup, Extension
-from distutils.unixccompiler import UnixCCompiler
 from distutils.version import StrictVersion as V
+from distutils.unixccompiler import UnixCCompiler
 
 import sipdistutils
 
@@ -31,8 +31,12 @@ def abspath(*path):
 
 
 def get_release_info():
-    import release
-    return release.Release
+    try:
+        sys.path.insert(0, abspath("python"))
+        import release
+        return release.Release
+    finally:
+        sys.path.pop(0)
 
 
 def uniquify(seq):
@@ -198,10 +202,6 @@ def main():
         extra_link_args += []
 
         macros += [
-            #('_WINDOWS', None),
-            #('_USRDLL', None),
-            #('_TANGO_LIB', None),
-            #('JPG_USE_ASM', None),
             ('LOG4TANGO_HAS_DLL', None),
             ('TANGO_HAS_DLL', None),
             ('WIN32', None),
@@ -255,14 +255,15 @@ def main():
     include_dirs = uniquify(include_dirs)
     library_dirs = uniquify(library_dirs)
     src_dir = abspath('.')
-    _cppfiles = [ os.path.join(src_dir, fname) for fname in os.listdir(src_dir) if fname.endswith('.cpp') ]
+    _cppfiles = [os.path.join(src_dir, fname) for fname in os.listdir(src_dir)
+                 if fname.endswith('.cpp') ]
     _cppfiles.sort()
-    sources = ["Tango.sip"] + _cppfiles
+    sources = [abspath("sip", "Tango.sip")] + _cppfiles
 
     cmdclass = {'build_ext': build_ext}
 
     _tango = Extension(
-        name='Tango',
+        name='Tango.Tango',
         sources=sources,
         include_dirs=include_dirs,
         library_dirs=library_dirs,
@@ -285,7 +286,7 @@ def main():
         platforms=Release.platform,
         license=Release.license,
         packages=packages,
-        package_dir={ 'Tango' : abspath(".") },
+        package_dir={ 'Tango' : abspath("Tango") },
         classifiers=classifiers,
         provides=provides,
         keywords=Release.keywords,
diff --git a/src/sip/AttributeInfo.sip b/src/sip/sip/AttributeInfo.sip
similarity index 94%
rename from src/sip/AttributeInfo.sip
rename to src/sip/sip/AttributeInfo.sip
index 42c3b4d..cf58712 100644
--- a/src/sip/AttributeInfo.sip
+++ b/src/sip/sip/AttributeInfo.sip
@@ -87,7 +87,9 @@ using namespace Tango;
         AttributeInfo *aAttributeInfo = new AttributeInfo(*j);
         PyObject *wobj;
 
-        if (!(wobj = sipConvertFromNewType(aAttributeInfo, sipType_AttributeInfo, sipTransferObj)))
+        if (!(wobj = sipConvertFromNewType(aAttributeInfo, 
+                                           sipType_AttributeInfo,
+                                           sipTransferObj)))
         {
             // There was an error so garbage collect the Python list.
             Py_DECREF(l);
diff --git a/src/sip/sip/AttributeInfoEx.sip b/src/sip/sip/AttributeInfoEx.sip
new file mode 100644
index 0000000..0d60a07
--- /dev/null
+++ b/src/sip/sip/AttributeInfoEx.sip
@@ -0,0 +1,176 @@
+/******************************************************************************
+  This file is part of PyTango (http://www.tinyurl.com/PyTango)
+
+  Copyright 2006-2012 CELLS / ALBA Synchrotron, Bellaterra, Spain
+  Copyright 2013-2014 European Synchrotron Radiation Facility, Grenoble, France
+
+  Distributed under the terms of the GNU Lesser General Public License,
+  either version 3 of the License, or (at your option) any later version.
+  See LICENSE.txt for more info.
+******************************************************************************/
+
+struct AttributeAlarmInfo
+{
+%TypeHeaderCode
+#include <string>
+#include <vector>
+#include <tango.h>
+using namespace Tango;
+%End
+    std::string	min_alarm;
+    std::string	max_alarm;
+    std::string min_warning;
+    std::string	max_warning;
+    std::string	delta_t;
+    std::string delta_val;
+    std::vector<std::string> extensions;
+};
+
+struct ChangeEventInfo
+{
+%TypeHeaderCode
+#include <string>
+#include <vector>
+#include <tango.h>
+using namespace Tango;
+%End
+    std::string rel_change;
+    std::string abs_change;
+};
+
+struct PeriodicEventInfo
+{
+%TypeHeaderCode
+#include <string>
+#include <vector>
+#include <tango.h>
+using namespace Tango;
+%End
+    std::string	period;
+    std::vector<std::string> extensions;
+};
+
+struct ArchiveEventInfo
+{
+%TypeHeaderCode
+#include <string>
+#include <vector>
+#include <tango.h>
+using namespace Tango;
+%End
+    std::string archive_rel_change;
+    std::string archive_abs_change;
+    std::string archive_period;
+    std::vector<std::string> extensions;
+};
+
+struct AttributeEventInfo
+{
+%TypeHeaderCode
+#include <string>
+#include <vector>
+#include <tango.h>
+using namespace Tango;
+%End
+    ChangeEventInfo ch_event;
+    PeriodicEventInfo per_event;
+    ArchiveEventInfo arch_event;
+};
+
+struct AttributeInfoEx : AttributeInfo
+{
+%TypeHeaderCode
+#include <string>
+#include <vector>
+#include <tango.h>
+using namespace Tango;
+%End
+
+    AttributeAlarmInfo alarms;
+    AttributeEventInfo events;
+    std::vector<std::string> sys_extensions;
+
+    bool operator==(const AttributeInfoEx &);
+};
+
+
+%MappedType AttributeInfoListEx
+{
+%TypeHeaderCode
+#include <vector>
+#include <tango.h>
+using namespace Tango;
+%End
+
+%ConvertToTypeCode
+    // See if we are just being asked to check the type of the Python
+    // object.
+    if(sipIsErr == NULL)
+    {
+        bool aReturnFlag = PyList_Check(sipPy);
+        for(int i = 0; aReturnFlag && i < PySequence_Size(sipPy); ++i)
+        {
+            aReturnFlag = sipCanConvertToType(PySequence_ITEM(sipPy, i),
+                                              sipType_AttributeInfoEx,
+                                              SIP_NOT_NONE);
+        }
+        return aReturnFlag;
+    }
+
+    AttributeInfoListEx *attrInfoListEx = new AttributeInfoListEx();
+    for(int i = 0; i < PySequence_Size(sipPy); ++i)
+    {
+        int state;
+        AttributeInfoEx *aAttributeInfoEx = reinterpret_cast<AttributeInfoEx*>(
+                              sipConvertToType(PySequence_ITEM(sipPy, i),
+                              sipType_AttributeInfoEx, Py_None,
+                              SIP_NOT_NONE,
+                              &state, sipIsErr));
+        // Deal with any errors.
+        if (*sipIsErr)
+        {
+            sipReleaseType(aAttributeInfoEx, sipType_AttributeInfoEx, state);
+
+            // Tidy up.
+            delete attrInfoListEx;
+
+            // There is no temporary instance.
+            return 0;
+        }
+        attrInfoListEx->push_back(*aAttributeInfoEx);
+        sipReleaseType(aAttributeInfoEx, sipType_AttributeInfoEx, state);
+    }
+    *sipCppPtr = attrInfoListEx;
+    return sipGetState(sipTransferObj);
+%End
+
+%ConvertFromTypeCode
+    PyObject *l;
+
+    // Create the Python list of the correct length.
+    if (!(l = PyList_New(sipCpp->size())))
+        return NULL;
+
+    // Go through each element in the C++ instance and convert it to a
+    // wrapped AttributeInfoEx
+    int i = 0;
+    for(std::vector<AttributeInfoEx>::iterator j = sipCpp->begin();
+        j != sipCpp->end(); ++j, ++i)
+    {
+        AttributeInfoEx *aAttributeInfoEx = new AttributeInfoEx(*j);
+        PyObject *wobj;
+
+        if (!(wobj = sipConvertFromNewType(aAttributeInfoEx, 
+                                           sipType_AttributeInfoEx,
+                                           sipTransferObj)))
+        {
+            // There was an error so garbage collect the Python list.
+            Py_DECREF(l);
+            return NULL;
+        }
+        PyList_SET_ITEM(l, i, wobj);
+    }
+    delete sipCpp;
+    return l;
+%End
+};
diff --git a/src/sip/CommandInfo.sip b/src/sip/sip/CommandInfo.sip
similarity index 100%
rename from src/sip/CommandInfo.sip
rename to src/sip/sip/CommandInfo.sip
diff --git a/src/sip/Database.sip b/src/sip/sip/Database.sip
similarity index 100%
rename from src/sip/Database.sip
rename to src/sip/sip/Database.sip
diff --git a/src/sip/DbData.sip b/src/sip/sip/DbData.sip
similarity index 100%
rename from src/sip/DbData.sip
rename to src/sip/sip/DbData.sip
diff --git a/src/sip/DbDatum.sip b/src/sip/sip/DbDatum.sip
similarity index 100%
rename from src/sip/DbDatum.sip
rename to src/sip/sip/DbDatum.sip
diff --git a/src/sip/DbDevImportInfo.sip b/src/sip/sip/DbDevImportInfo.sip
similarity index 100%
copy from src/sip/DbDevImportInfo.sip
copy to src/sip/sip/DbDevImportInfo.sip
diff --git a/src/sip/DbDevInfo.sip b/src/sip/sip/DbDevInfo.sip
similarity index 100%
rename from src/sip/DbDevInfo.sip
rename to src/sip/sip/DbDevInfo.sip
diff --git a/src/sip/DbDevImportInfo.sip b/src/sip/sip/DeviceAttribute.sip
similarity index 71%
rename from src/sip/DbDevImportInfo.sip
rename to src/sip/sip/DeviceAttribute.sip
index f96c1eb..e1acc79 100644
--- a/src/sip/DbDevImportInfo.sip
+++ b/src/sip/sip/DeviceAttribute.sip
@@ -9,17 +9,22 @@
   See LICENSE.txt for more info.
 ******************************************************************************/
 
-class DbDevImportInfo
+class DeviceAttribute
 {
 
-%TypeHeaderCode
-#include <tango.h>
-using namespace Tango;
-%End
-
 public :
-    std::string name;
-    long exported;
-    std::string ior;
-    std::string version;
+//
+// constructor methods
+//
+	enum except_flags
+	{
+		isempty_flag = 0,
+		wrongtype_flag,
+		failed_flag,
+		unknown_format_flag,
+		numFlags
+	};
+
+	DeviceAttribute();
+	DeviceAttribute(const DeviceAttribute&);
 };
\ No newline at end of file
diff --git a/src/sip/DeviceAttributeConfig.sip b/src/sip/sip/DeviceAttributeConfig.sip
similarity index 100%
rename from src/sip/DeviceAttributeConfig.sip
rename to src/sip/sip/DeviceAttributeConfig.sip
diff --git a/src/sip/DeviceInfo.sip b/src/sip/sip/DeviceInfo.sip
similarity index 100%
rename from src/sip/DeviceInfo.sip
rename to src/sip/sip/DeviceInfo.sip
diff --git a/src/sip/DeviceProxy.sip b/src/sip/sip/DeviceProxy.sip
similarity index 96%
rename from src/sip/DeviceProxy.sip
rename to src/sip/sip/DeviceProxy.sip
index a39aaec..e53a87e 100644
--- a/src/sip/DeviceProxy.sip
+++ b/src/sip/sip/DeviceProxy.sip
@@ -76,21 +76,22 @@ public:
     virtual std::vector<std::string> *get_attribute_list();
 
     virtual AttributeInfoList *get_attribute_config(std::vector<std::string>&);
-    /*
     virtual AttributeInfoListEx *get_attribute_config_ex(std::vector<std::string>&);
+
     virtual AttributeInfoEx get_attribute_config(const std::string &);
 
-    virtual AttributeInfoEx attribute_query(std::string name) {return get_attribute_config(name);}
+    virtual AttributeInfoEx attribute_query(std::string name);
+
     virtual AttributeInfoList *attribute_list_query();
     virtual AttributeInfoListEx *attribute_list_query_ex();
 
     virtual void set_attribute_config(AttributeInfoList &);
     virtual void set_attribute_config(AttributeInfoListEx &);
-
+/*
     virtual DeviceAttribute read_attribute(std::string&);
-    virtual DeviceAttribute read_attribute(const char *at) {std::string str(at);return read_attribute(str);}
+    virtual DeviceAttribute read_attribute(const char *at);
     void read_attribute(const char *,DeviceAttribute &);
-    void read_attribute(std::string &at,DeviceAttribute &da) {read_attribute(at.c_str(),da);}
+    void read_attribute(std::string &at,DeviceAttribute &da);
     virtual std::vector<DeviceAttribute> *read_attributes(std::vector<std::string>&);
 
     virtual void write_attribute(DeviceAttribute&);
diff --git a/src/sip/Tango.sip b/src/sip/sip/Tango.sip
similarity index 90%
rename from src/sip/Tango.sip
rename to src/sip/sip/Tango.sip
index e1ec7a2..0816619 100644
--- a/src/sip/Tango.sip
+++ b/src/sip/sip/Tango.sip
@@ -21,13 +21,16 @@
 %Include DeviceInfo.sip
 %Include DeviceAttributeConfig.sip
 %Include AttributeInfo.sip
+%Include AttributeInfoEx.sip
 %Include DbDatum.sip
 %Include DbDevInfo.sip
 %Include DbDevImportInfo.sip
 %Include connection.sip
+%Include DeviceAttribute.sip
 %Include DeviceProxy.sip
 %Include Database.sip
 
+/*
 %PostInitialisationCode
 
     PyObject* init_tango = PyImport_ImportModule("__init_tango");
@@ -40,8 +43,10 @@
         return;
     }
     PyObject* init_name = PyString_FromString("init");
-    PyObject* ret = PyObject_CallMethodObjArgs(init_tango, init_name, sipModule, sipModuleDict, NULL);
+    PyObject* ret = PyObject_CallMethodObjArgs(init_tango, init_name, sipModule,
+                                               sipModuleDict, NULL);
     Py_DECREF(init_name);
     Py_DECREF(ret);
     Py_DECREF(init_tango);
 %End
+*/
\ No newline at end of file
diff --git a/src/sip/configure.py b/src/sip/sip/configure.py
similarity index 60%
rename from src/sip/configure.py
rename to src/sip/sip/configure.py
index ea03e84..1a6ee6e 100644
--- a/src/sip/configure.py
+++ b/src/sip/sip/configure.py
@@ -6,22 +6,28 @@ import sipconfig
 # system.
 
 this_dir = os.path.dirname(os.path.abspath(__file__))
-out_dir = os.path.join(this_dir, 'out')
+sip_dir = os.path.join(this_dir, 'sip')
+build_dir = os.path.join(this_dir, 'build')
+install_dir = os.path.join(this_dir, os.path.pardir, 'Tango')
+
+try:
+    os.makedirs(build_dir)
+except OSError:
+    pass
 
 name = "Tango"
 sip_file = os.path.join(this_dir, name + ".sip")
-build_file = os.path.join(out_dir , name + ".sbf")
+build_file = os.path.join(build_dir , name + ".sbf")
 
 # Get the SIP configuration information.
 config = sipconfig.Configuration()
 
-
 # Run SIP to generate the code.
 cmd = " ".join([config.sip_bin,
                 "-e" ,  # Enable support for exceptions.
                 "-g",  # Always release and reaquire the GIL.
                 "-w",  # Enable warning messages
-                "-c", out_dir,
+                "-c", build_dir,
                 "-b", build_file,
                 sip_file])
 print cmd
@@ -32,20 +38,18 @@ if ret:
     sys.exit(ret)
 
 # Create the Makefile.
-makefile = sipconfig.SIPModuleMakefile(config, build_file,
-                                       dir=out_dir,
-                                       install_dir=this_dir)
+makefile = sipconfig.SIPModuleMakefile(config, build_file, dir=this_dir,
+                                       install_dir=install_dir)
 
 python_lib = "python{v[0]}.{v[1]}".format(v=sys.version_info)
 
 # Add the library we are wrapping.  The name doesn't include any platform
 # specific prefixes or extensions (e.g. the "lib" prefix on UNIX, or the
 # ".dll" extension on Windows).
-makefile.extra_libs = ["tango", "log4tango", "zmq",
-                       "omniORB4", "omniDynamic4", "omnithread", "COS4",
-                       python_lib]
-makefile.extra_lib_dirs = []  #["/home/tcoutinho/.local/lib"]
-makefile.extra_include_dirs = []  #["/home/tcoutinho/.local/include", "/home/tcoutinho/.local/include/tango"]
+makefile.extra_libs = ["tango", "log4tango", python_lib]
+makefile.extra_libs += ["zmq", "omniORB4", "omniDynamic4", "omnithread", "COS4"]
+#makefile.extra_lib_dirs = ["/home/tcoutinho/.local/lib"]
+#makefile.extra_include_dirs = ["/home/tcoutinho/.local/include", "/home/tcoutinho/.local/include/tango"]
 makefile.extra_cxxflags = ["-std=c++0x"]
 
 # see all undefined references
@@ -53,4 +57,3 @@ makefile.extra_lflags = ['-z defs']
 
 # Generate the Makefile itself.
 makefile.generate()
-
diff --git a/src/sip/connection.sip b/src/sip/sip/connection.sip
similarity index 100%
rename from src/sip/connection.sip
rename to src/sip/sip/connection.sip
diff --git a/src/sip/constants.sip b/src/sip/sip/constants.sip
similarity index 71%
rename from src/sip/constants.sip
rename to src/sip/sip/constants.sip
index fa3eea9..11f5772 100644
--- a/src/sip/constants.sip
+++ b/src/sip/sip/constants.sip
@@ -148,17 +148,71 @@ enum ChannelType
 
 // IDL
 
-enum AttrQuality { ATTR_VALID, ATTR_INVALID, ATTR_ALARM, ATTR_CHANGING, ATTR_WARNING /*, __max_AttrQuality=0xffffffff */ };
-
-enum AttrWriteType { READ, READ_WITH_WRITE, WRITE, READ_WRITE /*, __max_AttrWriteType=0xffffffff */ };
+enum AttrQuality {
+     ATTR_VALID,
+     ATTR_INVALID,
+     ATTR_ALARM,
+     ATTR_CHANGING,
+     ATTR_WARNING
+     /*, __max_AttrQuality=0xffffffff */
+};
 
-enum AttrDataFormat { SCALAR, SPECTRUM, IMAGE, FMT_UNKNOWN /*, __max_AttrDataFormat=0xffffffff */ };
+enum AttrWriteType
+{
+    READ,
+    READ_WITH_WRITE,
+    WRITE,
+    READ_WRITE
+    /*, __max_AttrWriteType=0xffffffff */
+};
 
-enum DevSource { DEV, CACHE, CACHE_DEV /*, __max_DevSource=0xffffffff */ };
+enum AttrDataFormat
+{
+    SCALAR,
+    SPECTRUM,
+    IMAGE,
+    FMT_UNKNOWN
+    /*, __max_AttrDataFormat=0xffffffff */
+};
 
-enum ErrSeverity { WARN, ERR, PANIC /*, __max_ErrSeverity=0xffffffff */ };
+enum DevSource
+{
+    DEV,
+    CACHE,
+    CACHE_DEV
+    /*, __max_DevSource=0xffffffff */
+};
 
-enum DevState { ON, OFF, CLOSE, OPEN, INSERT, EXTRACT, MOVING, STANDBY, FAULT, INIT, RUNNING, ALARM, DISABLE, UNKNOWN /*, __max_DevState=0xffffffff */ };
+enum ErrSeverity
+{
+    WARN,
+    ERR,
+    PANIC
+    /*, __max_ErrSeverity=0xffffffff */
+};
 
-enum DispLevel { OPERATOR, EXPERT /*, __max_DispLevel=0xffffffff */ };
+enum DevState
+{
+    ON,
+    OFF,
+    CLOSE,
+    OPEN,
+    INSERT,
+    EXTRACT,
+    MOVING,
+    STANDBY,
+    FAULT,
+    INIT,
+    RUNNING,
+    ALARM,
+    DISABLE,
+    UNKNOWN
+    /*, __max_DevState=0xffffffff */
+};
 
+enum DispLevel
+{
+    OPERATOR,
+    EXPERT
+    /*, __max_DispLevel=0xffffffff */
+};
diff --git a/src/sip/std_utils.sip b/src/sip/sip/std_utils.sip
similarity index 100%
rename from src/sip/std_utils.sip
rename to src/sip/sip/std_utils.sip

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/pytango.git



More information about the debian-science-commits mailing list