diff --git a/build/temp.macosx-10.7-x86_64-3.7/pytdm_ripper.o b/build/temp.macosx-10.7-x86_64-3.7/pytdm_ripper.o new file mode 100644 index 0000000..4a367fb Binary files /dev/null and b/build/temp.macosx-10.7-x86_64-3.7/pytdm_ripper.o differ diff --git a/lib/tdm_ripper.cpp b/lib/tdm_ripper.cpp index 1a57e7a..58413c9 100644 --- a/lib/tdm_ripper.cpp +++ b/lib/tdm_ripper.cpp @@ -1,18 +1,18 @@ #include "tdm_ripper.hpp" -tdm_ripper::tdm_ripper(): - tdmfile_(""), tdxfile_(""), filesprovided_(false), - num_channels_(0), num_groups_(0), - channel_id_(0), group_id_(0), channel_name_(0), group_name_(0), - num_channels_group_(0), channels_group_(0), - byteoffset_(0), length_(0), type_(0) -{ - -} +// tdm_ripper::tdm_ripper(): +// tdmfile_(""), tdxfile_(""), filesprovided_(false), +// num_channels_(0), num_groups_(0), +// channel_id_(0), group_id_(0), channel_name_(0), group_name_(0), +// num_channels_group_(0), channels_group_(0), +// byteoffset_(0), length_(0), type_(0) +// { +// +// } tdm_ripper::tdm_ripper(std::string tdmfile, std::string tdxfile): - tdmfile_(tdmfile), tdxfile_(tdxfile), filesprovided_(true), + tdmfile_(tdmfile), tdxfile_(tdxfile), //filesprovided_(true), num_channels_(0), num_groups_(0), channel_id_(0), group_id_(0), channel_name_(0), group_name_(0), num_channels_group_(0), channels_group_(0), @@ -20,18 +20,18 @@ tdm_ripper::tdm_ripper(std::string tdmfile, std::string tdxfile): { setup(); } - -void tdm_ripper::setfiles(std::string tdmfile, std::string tdxfile) -{ - tdmfile_ = tdmfile; - tdxfile_ = tdxfile; - filesprovided_ = true; - setup(); -} +// +// void tdm_ripper::setfiles(std::string tdmfile, std::string tdxfile) +// { +// tdmfile_ = tdmfile; +// tdxfile_ = tdxfile; +// filesprovided_ = true; +// setup(); +// } void tdm_ripper::setup() { - assert( filesprovided_ ); + // assert( filesprovided_ ); // TODO directly provide the C datatype to be used!! datatypes_ = { @@ -146,7 +146,7 @@ void tdm_ripper::parse_structure() // check consistency of number of channelgroups int numgroups = count_occ_string(subtreedata.child("tdm_root").child_value("channelgroups"),"id"); - assert( numgroups == num_groups_ ); + if ( 0*numgroups == 0 ) assert( numgroups == num_groups_ ); // check consistency of number of channels assert( num_channels_ == (int)channel_id_.size() diff --git a/lib/tdm_ripper.hpp b/lib/tdm_ripper.hpp index 61d2203..7bf139d 100644 --- a/lib/tdm_ripper.hpp +++ b/lib/tdm_ripper.hpp @@ -17,7 +17,7 @@ class tdm_ripper // .tdm and .tdx filenames std::string tdmfile_; std::string tdxfile_; - bool filesprovided_; + // bool filesprovided_; // endianness (true = little, false = big) bool endianness_, machine_endianness_; @@ -45,10 +45,10 @@ class tdm_ripper public: - tdm_ripper(); + // tdm_ripper(); tdm_ripper(std::string tdmfile, std::string tdxfile = ""); - void setfiles(std::string tdmfile, std::string tdxfile = ""); + // void setfiles(std::string tdmfile, std::string tdxfile = ""); void setup(); void parse_structure(); diff --git a/main.o b/main.o new file mode 100644 index 0000000..80e4793 Binary files /dev/null and b/main.o differ diff --git a/pytdm_ripper.pyx b/pytdm_ripper.pyx index ee10edd..1aba3ce 100644 --- a/pytdm_ripper.pyx +++ b/pytdm_ripper.pyx @@ -1,18 +1,20 @@ -# cython: language_level=3 +# cython: language_level = 3 # distutils: language = c++ -## distutils: sources = lib/tdm_ripper.cpp -# from libcpp.string cimport string -# from libcpp.vector cimport vector +## distutils: sources = lib/tdm_ripper.cpp from tdm_ripper cimport tdm_ripper cdef class pytdmripper: - # C++ instance - cdef tdm_ripper cripp + + # use pointer since there's no nullary constructor + cdef tdm_ripper*cripp def __cinit__(self, string tdmfile, string tdxfile): - self.cripp = tdm_ripper(tdmfile,tdxfile) + self.cripp = new tdm_ripper(tdmfile,tdxfile) - def setfiles(self, string tdmfile, string tdxfile): - self.cripp(tdmfile,tdxfile) + def __dealloc__(self): + del self.cripp + + # def setfiles(self, string tdmfile, string tdxfile): + # self.cripp(tdmfile,tdxfile) diff --git a/setup.py b/setup.py index 6127597..d583dbf 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ extensions = Extension( include_dirs=["lib"], language='c++', extra_compile_args=['-stdlib=libc++','-std=c++11'], - extra_link_args=['-std=c++11'], + extra_link_args=['-stdlib=libc++','-std=c++11'], ) setup( diff --git a/tdm_ripper.cpython-37m-darwin.so b/tdm_ripper.cpython-37m-darwin.so new file mode 100755 index 0000000..05c25ed Binary files /dev/null and b/tdm_ripper.cpython-37m-darwin.so differ diff --git a/tdm_ripper.o b/tdm_ripper.o new file mode 100644 index 0000000..55072f2 Binary files /dev/null and b/tdm_ripper.o differ diff --git a/tdm_ripper.pxd b/tdm_ripper.pxd index 973422a..1775814 100644 --- a/tdm_ripper.pxd +++ b/tdm_ripper.pxd @@ -1,14 +1,14 @@ - +# use some C++ STL libraries from libcpp.string cimport string from libcpp.vector cimport vector -# use only in absence of # distutils: sources = Rectangle.cpp in .pyx +# use only in absence of # distutils: sources = lib/tdm_ripper.cpp in .pyx cdef extern from "tdm_ripper.cpp": pass cdef extern from "tdm_ripper.hpp": cdef cppclass tdm_ripper: - tdm_ripper() except + + # tdm_ripper() except + tdm_ripper(string, string) except + - void setfiles(string, string) - void setup() + # void setfiles(string, string) + # void setup()