Changeset 8586

Show
Ignore:
Timestamp:
01/21/09 11:53:20 (4 years ago)
Author:
mcarrick
Message:

removing metadata from interpolator

Location:
ossiedev/trunk/components/Interpolator
Files:
4 modified
5 moved

Legend:

Unmodified
Added
Removed
  • ossiedev/trunk/components/Interpolator/Interpolator.cpp

    r8180 r8586  
    33Copyright 2006, 2007 Virginia Polytechnic Institute and State University 
    44 
    5 This file is part of the OSSIE Interpolator_metadata. 
    6  
    7 OSSIE Interpolator_metadata is free software; you can redistribute it and/or modify 
     5This file is part of the OSSIE Interpolator. 
     6 
     7OSSIE Interpolator is free software; you can redistribute it and/or modify 
    88it under the terms of the GNU General Public License as published by 
    99the Free Software Foundation; either version 2 of the License, or 
    1010(at your option) any later version. 
    1111 
    12 OSSIE Interpolator_metadata is distributed in the hope that it will be useful, 
     12OSSIE Interpolator is distributed in the hope that it will be useful, 
    1313but WITHOUT ANY WARRANTY; without even the implied warranty of 
    1414MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     
    1616 
    1717You should have received a copy of the GNU General Public License 
    18 along with OSSIE Interpolator_metadata; if not, write to the Free Software 
     18along with OSSIE Interpolator; if not, write to the Free Software 
    1919Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
    2020 
     
    2626#include "ossie/debug.h" 
    2727 
    28 #include "Interpolator_metadata.h" 
    29  
    30 Interpolator_metadata_i::Interpolator_metadata_i(const char *uuid, omni_condition *con) :  
     28#include "Interpolator.h" 
     29 
     30Interpolator_i::Interpolator_i(const char *uuid, omni_condition *con) :  
    3131    Resource_impl(uuid), 
    3232    component_running(con), 
     
    3939    previous_length = 0; 
    4040 
    41     dataIn = new standardInterfacesMD_i::complexShort_p("inData"); 
    42     dataOut = new standardInterfacesMD_i::complexShort_u("outData"); 
     41    dataIn = new standardInterfaces_i::complexShort_p("inData"); 
     42    dataOut = new standardInterfaces_i::complexShort_u("outData"); 
    4343 
    4444    // Start the run_interpolation thread 
     
    6161                                   
    6262 
    63 Interpolator_metadata_i::~Interpolator_metadata_i(void) 
     63Interpolator_i::~Interpolator_i(void) 
    6464{ 
    6565    delete dataIn; 
     
    7272} 
    7373 
    74 CORBA::Object_ptr Interpolator_metadata_i::getPort( const char* portName) throw (CORBA::SystemException, CF::PortSupplier::UnknownPort) 
    75 { 
    76     DEBUG(4, Interpolator_metadata, "Interpolator_metadata getPort() called with: " << portName); 
     74CORBA::Object_ptr Interpolator_i::getPort( const char* portName) throw (CORBA::SystemException, CF::PortSupplier::UnknownPort) 
     75{ 
     76    DEBUG(4, Interpolator, "Interpolator getPort() called with: " << portName); 
    7777 
    7878    CORBA::Object_var p; 
     
    9191} 
    9292 
    93 void Interpolator_metadata_i::start() throw (CORBA::SystemException, CF::Resource::StartError) 
    94 { 
    95     DEBUG(3, Interpolator_metadata, "Interpolator_metadata start() called") 
    96 } 
    97  
    98 void Interpolator_metadata_i::stop() throw (CORBA::SystemException, CF::Resource::StopError)  
    99 { 
    100     DEBUG(3, Interpolator_metadata, "Interpolator_metadata stop() called") 
    101 } 
    102  
    103 void Interpolator_metadata_i::releaseObject() throw (CORBA::SystemException, CF::LifeCycle::ReleaseError) 
    104 { 
    105     DEBUG(3, Interpolator_metadata, "In releaseObject."); 
     93void Interpolator_i::start() throw (CORBA::SystemException, CF::Resource::StartError) 
     94{ 
     95    DEBUG(3, Interpolator, "Interpolator start() called") 
     96} 
     97 
     98void Interpolator_i::stop() throw (CORBA::SystemException, CF::Resource::StopError)  
     99{ 
     100    DEBUG(3, Interpolator, "Interpolator stop() called") 
     101} 
     102 
     103void Interpolator_i::releaseObject() throw (CORBA::SystemException, CF::LifeCycle::ReleaseError) 
     104{ 
     105    DEBUG(3, Interpolator, "In releaseObject."); 
    106106    component_running->signal(); 
    107     DEBUG(3, Interpolator_metadata, "Leaving releaseObject."); 
     107    DEBUG(3, Interpolator, "Leaving releaseObject."); 
    108108 } 
    109109 
    110 void Interpolator_metadata_i::initialize() throw (CF::LifeCycle::InitializeError, CORBA::SystemException) 
     110void Interpolator_i::initialize() throw (CF::LifeCycle::InitializeError, CORBA::SystemException) 
    111111{ 
    112112#ifdef INTERP_LOGGING 
     
    116116} 
    117117 
    118 void Interpolator_metadata_i::configure(const CF::Properties& props) throw (CORBA::SystemException, CF::PropertySet::InvalidConfiguration, CF::PropertySet::PartialConfiguration) 
    119 { 
    120     DEBUG(3, Interpolator_metadata, "Interpolator_metadata configure() called") 
     118void Interpolator_i::configure(const CF::Properties& props) throw (CORBA::SystemException, CF::PropertySet::InvalidConfiguration, CF::PropertySet::PartialConfiguration) 
     119{ 
     120    DEBUG(3, Interpolator, "Interpolator configure() called") 
    121121         
    122     DEBUG(3, Interpolator_metadata, "Props length : " << props.length()) 
     122    DEBUG(3, Interpolator, "Props length : " << props.length()) 
    123123 
    124124    for (unsigned int i = 0; i < props.length(); i++) { 
    125         DEBUG(3, Interpolator_metadata, "Property id : " << props[i].id) 
    126  
    127         if (strcmp(props[i].id, "DCE:8ebaf719-be0f-48af-b623-524989b43862") == 0) { 
     125        DEBUG(3, Interpolator, "Property id : " << props[i].id) 
     126 
     127        if (strcmp(props[i].id, "DCE:e5c1d4aa-4b7f-48b7-b3bf-ed90b7653bec") == 0) { 
    128128            // InterpFactor property, sets the interpolation factor 
    129129            CORBA::UShort D; 
     
    133133 
    134134            M = D; 
    135             DEBUG(3, Interpolator_metadata, "Interpolation factor set to " << M) 
     135            DEBUG(3, Interpolator, "Interpolation factor set to " << M) 
    136136            std::cout << std::endl << "INTERP: k = " << M << std::endl; 
    137137            isConfigured_k = true; 
    138         } else if (strcmp(props[i].id, "DCE:c3dcab06-841f-4259-a54f-a82c6209f59e") == 0) { 
     138        } else if (strcmp(props[i].id, "DCE:9c39de73-54d4-43ad-ab9d-52f5fa526ddf") == 0) { 
    139139            // filter property, Filter coefficients 
    140140            CORBA::FloatSeq *coeff_ptr; 
     
    151151 
    152152                h = new float[len_h]; 
    153                 DEBUG(3, Interpolator_metadata, "Interpolator filter length = " << len_h) 
     153                DEBUG(3, Interpolator, "Interpolator filter length = " << len_h) 
    154154                for (unsigned int i = 0; i < len_h; i++) { 
    155155                    h[i] = (*coeff_ptr)[i]; 
    156                     //DEBUG(4, Interpolator_metadata, "Coeff[" << i << "] = " << h[i]) 
     156                    //DEBUG(4, Interpolator, "Coeff[" << i << "] = " << h[i]) 
    157157                    printf("g(%d) = %f;\n", i+1, h[i]); 
    158158                } 
     
    165165            } 
    166166 
    167         } else if (strcmp(props[i].id, "DCE:d462e7b6-3128-4fa5-9f73-c5b319b4bbf0") == 0) { 
     167        } else if (strcmp(props[i].id, "DCE:e65ba870-4c11-11dc-9470-00123f63025f") == 0) { 
    168168            // pulse shape 
    169169            const char * prop_str; 
     
    176176            } else { 
    177177                // unknown pulse shape 
    178                 std::cerr << "ERROR: Interpolator_metadata::configure() unknown pulse shape " 
     178                std::cerr << "ERROR: Interpolator::configure() unknown pulse shape " 
    179179                          << prop_str << std::endl; 
    180180                throw CF::PropertySet::InvalidConfiguration(); 
     
    183183            std::cout << std::endl << "INTERP: pulse_shape = " << pulseShape << std::endl; 
    184184 
    185         } else if (strcmp(props[i].id, "DCE:58320c73-0498-452a-aa94-48f7df572534") == 0) { 
     185        } else if (strcmp(props[i].id, "DCE:f6843fdc-4c11-11dc-b0be-00123f63025f") == 0) { 
    186186            // m : symbol delay 
    187187            CORBA::UShort simple_temp; 
     
    190190            isConfigured_m = true; 
    191191            std::cout << std::endl << "INTERP: m = " << m << std::endl; 
    192         } else if (strcmp(props[i].id, "DCE:8ce7c2bc-b7f7-427b-ada8-7c1c0c7eded1") == 0) { 
     192        } else if (strcmp(props[i].id, "DCE:fed01972-4c11-11dc-8d59-00123f63025f") == 0) { 
    193193            // beta : excess bandwidth factor 
    194194            CORBA::Float simple_temp; 
     
    198198            std::cout << std::endl << "INTERP: beta = " << beta << std::endl; 
    199199        } else { 
    200             std::cerr << "Interpolator_metadata: Unknown property id " << props[i].id << std::endl; 
     200            std::cerr << "Interpolator: Unknown property id " << props[i].id << std::endl; 
    201201            throw CF::PropertySet::InvalidConfiguration(); 
    202202        } 
     
    215215 
    216216        ///\todo do not assume always rrcos filter 
    217         std::cout << "Interpolator_metadata designing new rrcos filter: " 
     217        std::cout << "Interpolator designing new rrcos filter: " 
    218218                  << pulseShape << ", k=" << M << ", m=" << m << ", beta=" << beta 
    219219                  << std::endl; 
     
    231231} 
    232232 
    233 void Interpolator_metadata_i::run_interpolation() 
    234 { 
    235     DEBUG(3, Interpolator_metadata, "Interpolator_metadata run_interpolation() thread started") 
     233void Interpolator_i::run_interpolation() 
     234{ 
     235    DEBUG(3, Interpolator, "Interpolator run_interpolation() thread started") 
    236236    PortTypes::ShortSequence *I_in, *Q_in; 
    237237    PortTypes::ShortSequence I_out, Q_out; 
     
    243243    while (1) { 
    244244 
    245         dataIn->getData(I_in, Q_in, metadata); 
     245        dataIn->getData(I_in, Q_in);//, metadata); 
    246246        { 
    247247            omni_mutex_lock l(accessPrivateData); 
     
    251251 
    252252        // Adjust MetaData tags 
    253         if ( createDynamicFilter ) 
     253/*        if ( createDynamicFilter ) 
    254254            metadata->signal_bandwidth *= (float) ( metadata->sampling_frequency * (1+beta) ); 
    255255        else 
     
    257257 
    258258        metadata->sampling_frequency *= (float) M; 
    259  
     259*/ 
    260260 
    261261        unsigned int len = I_in->length(); 
     
    263263 
    264264        if (len != old_len || M_factor != old_M) { 
    265             DEBUG(4, Interpolator_metadata, "data len or M changed."); 
     265            DEBUG(4, Interpolator, "data len or M changed."); 
    266266            I_out.length(len * M_factor); 
    267267            Q_out.length(len * M_factor); 
    268268            old_len = len; 
    269269            old_M = M_factor; 
    270             DEBUG(4, Interpolator_metadata, "New data len: " << len << " M: " << M); 
     270            DEBUG(4, Interpolator, "New data len: " << len << " M: " << M); 
    271271        } 
    272272 
    273273        for (unsigned int i = 0; i < len; i++) { 
    274274 
    275             DEBUG(8, Interpolator_metadata, "About to filter data."); 
     275            DEBUG(8, Interpolator, "About to filter data."); 
    276276            i_filter->do_work(true, (*I_in)[i], I_out[out_idx]); 
    277277            q_filter->do_work(true, (*Q_in)[i], Q_out[out_idx]); 
    278             DEBUG(8, Interpolator_metadata, "Done filtering data."); 
     278            DEBUG(8, Interpolator, "Done filtering data."); 
    279279 
    280280#ifdef INTERP_LOGGING 
     
    297297        } 
    298298        dataIn->bufferEmptied(); 
    299         dataOut->pushPacket(I_out, Q_out, *metadata); 
     299        dataOut->pushPacket(I_out, Q_out);//, *metadata); 
    300300    } 
    301301} 
  • ossiedev/trunk/components/Interpolator/Interpolator.h

    r8180 r8586  
    33Copyright 2006 Virginia Polytechnic Institute and State University 
    44 
    5 This file is part of the OSSIE Interpolator_metadata. 
     5This file is part of the OSSIE Interpolator. 
    66 
    7 OSSIE Interpolator_metadata is free software; you can redistribute it and/or modify 
     7OSSIE Interpolator is free software; you can redistribute it and/or modify 
    88it under the terms of the GNU General Public License as published by 
    99the Free Software Foundation; either version 2 of the License, or 
    1010(at your option) any later version. 
    1111 
    12 OSSIE Interpolator_metadata is distributed in the hope that it will be useful, 
     12OSSIE Interpolator is distributed in the hope that it will be useful, 
    1313but WITHOUT ANY WARRANTY; without even the implied warranty of 
    1414MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     
    1616 
    1717You should have received a copy of the GNU General Public License 
    18 along with OSSIE Interpolator_metadata; if not, write to the Free Software 
     18along with OSSIE Interpolator; if not, write to the Free Software 
    1919Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
    2020 
     
    2222 
    2323 
    24 #ifndef INTERPOLATOR_METADATA_IMPL_H 
    25 #define INTERPOLATOR_METADATA_IMPL_H 
     24#ifndef INTERPOLATOR_IMPL_H 
     25#define INTERPOLATOR_IMPL_H 
    2626 
    2727#include <stdlib.h> 
     
    2929#include "ossie/cf.h" 
    3030 
    31 #include "standardinterfaces-metadata/complexShortMD_u.h" 
    32 #include "standardinterfaces-metadata/complexShortMD_p.h" 
     31#include "standardinterfaces/complexShort_u.h" 
     32#include "standardinterfaces/complexShort_p.h" 
    3333 
    3434#include "ossie/Resource_impl.h" 
     
    3737#undef INTERP_LOGGING 
    3838 
    39 class Interpolator_metadata_i; 
     39class Interpolator_i; 
    4040 
    41 class Interpolator_metadata_i : public Resource_impl 
     41class Interpolator_i : public Resource_impl 
    4242{ 
    4343 
    4444  public: 
    45     Interpolator_metadata_i(const char *uuid, omni_condition *con); 
    46     ~Interpolator_metadata_i(void); 
     45    Interpolator_i(const char *uuid, omni_condition *con); 
     46    ~Interpolator_i(void); 
    4747 
    48     static void do_run_interpolation(void *data) { ((Interpolator_metadata_i *)data)->run_interpolation(); }; 
     48    static void do_run_interpolation(void *data) { ((Interpolator_i *)data)->run_interpolation(); }; 
    4949 
    5050    void start() throw (CF::Resource::StartError, CORBA::SystemException); 
     
    6262 
    6363  private: 
    64     Interpolator_metadata_i(); 
    65     Interpolator_metadata_i(const Interpolator_metadata_i &); 
     64    Interpolator_i(); 
     65    Interpolator_i(const Interpolator_i &); 
    6666 
    6767    void run_interpolation(); 
     
    8686 
    8787    // For data in port 
    88     standardInterfacesMD_i::complexShort_p *dataIn; 
     88    standardInterfaces_i::complexShort_p *dataIn; 
    8989 
    9090    // For data out port 
    91     standardInterfacesMD_i::complexShort_u *dataOut; 
     91    standardInterfaces_i::complexShort_u *dataOut; 
    9292 
    93     standardInterfacesMD::MetaData *metadata; 
     93    //standardInterfaces::MetaData *metadata; 
    9494 
    9595    // For debugging 
  • ossiedev/trunk/components/Interpolator/Interpolator.prf.xml

    r8019 r8586  
    55<properties> 
    66<description /> 
    7     <simple id="DCE:8ebaf719-be0f-48af-b623-524989b43862" type="ushort" name="InterpFactor (k)" mode="readwrite"> 
     7    <simple id="DCE:e5c1d4aa-4b7f-48b7-b3bf-ed90b7653bec" type="ushort" name="InterpFactor (k)" mode="readwrite"> 
    88        <value>1</value> 
    99        <kind kindtype="configure" /> 
    1010    </simple> 
    11     <simplesequence id="DCE:c3dcab06-841f-4259-a54f-a82c6209f59e" type="float" name="filter" mode="readwrite"> 
     11    <simplesequence id="DCE:9c39de73-54d4-43ad-ab9d-52f5fa526ddf" type="float" name="filter" mode="readwrite"> 
    1212        <values> 
    1313            <value>1.0</value>            
     
    1616    </simplesequence> 
    1717 
    18     <simple id="DCE:d462e7b6-3128-4fa5-9f73-c5b319b4bbf0" type="string" name="pulse_shape" mode="readwrite"> 
     18    <simple id="DCE:e65ba870-4c11-11dc-9470-00123f63025f" type="string" name="pulse_shape" mode="readwrite"> 
    1919        <description>Type of pulse shape to use for filter prototype</description> 
    2020        <value>rrcos</value> 
     
    2222    </simple> 
    2323 
    24     <simple id="DCE:58320c73-0498-452a-aa94-48f7df572534" type="ushort" name="m" mode="readwrite"> 
     24    <simple id="DCE:f6843fdc-4c11-11dc-b0be-00123f63025f" type="ushort" name="m" mode="readwrite"> 
    2525        <description>Symbol delay</description> 
    2626        <value>2</value> 
     
    2828    </simple> 
    2929 
    30     <simple id="DCE:8ce7c2bc-b7f7-427b-ada8-7c1c0c7eded1" type="float" name="beta" mode="readwrite"> 
     30    <simple id="DCE:fed01972-4c11-11dc-8d59-00123f63025f" type="float" name="beta" mode="readwrite"> 
    3131        <description>Excess bandwidth factor</description> 
    3232        <value>0.3</value> 
  • ossiedev/trunk/components/Interpolator/Interpolator.spd.xml

    r8019 r8586  
    33<!--Created with OSSIE WaveDev Beta Version 0.5.0b--> 
    44<!--Powered by Python--> 
    5 <softpkg type="sca_compliant" name="Interpolator_metadata" id="DCE:02c597e8-160b-4986-8439-f9ba52e2a3ee"> 
     5<softpkg type="sca_compliant" name="Interpolator" id="DCE:e1a32064-21c5-11db-a265-000f1fd5acd7"> 
    66    <title/> 
    77    <author> 
     
    1111    </author> 
    1212    <propertyfile type="PRF"> 
    13         <localfile name="xml/Interpolator_metadata/Interpolator_metadata.prf.xml"/> 
     13        <localfile name="xml/Interpolator/Interpolator.prf.xml"/> 
    1414    </propertyfile> 
    1515    <descriptor> 
    16         <localfile name="xml/Interpolator_metadata/Interpolator_metadata.scd.xml"/> 
     16        <localfile name="xml/Interpolator/Interpolator.scd.xml"/> 
    1717    </descriptor> 
    18     <implementation id="DCE:00163ccc-4939-4273-a34e-59acd71e6931" aepcompliance="aep_compliant"> 
     18    <implementation id="DCE:e1a41b54-21c5-11db-9618-000f1fd5acd7" aepcompliance="aep_compliant"> 
    1919        <description>Default Description</description>  
    2020        <code type="Executable"> 
    21             <localfile name="bin/Interpolator_metadata"/> 
     21            <localfile name="bin/Interpolator"/> 
    2222        </code> 
    2323        <processor name="x86"/> 
  • ossiedev/trunk/components/Interpolator/Makefile.am

    r8019 r8586  
    22AM_CXXFLAGS = -Wall  
    33 
    4 ossieName = Interpolator_metadata 
     4ossieName = Interpolator 
    55dombindir = $(prefix)/bin 
    6 dombin_PROGRAMS = Interpolator_metadata 
     6dombin_PROGRAMS = Interpolator 
    77 
    88xmldir = $(prefix)/xml/$(ossieName) 
    9 dist_xml_DATA = Interpolator_metadata.prf.xml Interpolator_metadata.scd.xml \ 
    10 Interpolator_metadata.spd.xml  
     9dist_xml_DATA = Interpolator.prf.xml Interpolator.scd.xml \ 
     10Interpolator.spd.xml  
    1111 
    12 Interpolator_metadata_SOURCES = Interpolator_metadata.cpp Interpolator_metadata.h main.cpp 
     12Interpolator_SOURCES = Interpolator.cpp Interpolator.h main.cpp 
    1313 
    1414# --- documentation --- 
  • ossiedev/trunk/components/Interpolator/README.txt

    r8019 r8586  
    11README.txt 
    22 
    3 Interpolator_metadata 
     3Interpolator 
    44 
    55Based off Decimator. Uses 31 tap filter. Probably overkill... 
  • ossiedev/trunk/components/Interpolator/configure.ac

    r8090 r8586  
    1 AC_INIT(Interpolator_metadata, 0.0.1) 
     1AC_INIT(interpolator, 0.0.1) 
    22AM_INIT_AUTOMAKE 
    33 
     
    2424AC_CHECK_LIB([standardInterfaces], [main], [], [AC_MSG_ERROR([cannot find standardInterfaces])]) 
    2525AC_CHECK_HEADERS([standardinterfaces/complexShort.h], [], [AC_MSG_ERROR([cannot find standardInterfaces header files])]) 
    26 AC_CHECK_LIB([standardInterfaces_metadata], [main], [], [AC_MSG_ERROR([cannot find standardInterfaces-metadata])]) 
    27 AC_CHECK_HEADERS([standardinterfaces-metadata/complexShortMD.h], [], [AC_MSG_ERROR([cannot find standardInterfaces-metadata header files])]) 
    2826 
    2927AC_LANG_POP 
  • ossiedev/trunk/components/Interpolator/main.cpp

    r8180 r8586  
    33Copyright 2006 Virginia Polytechnic Institute and State University 
    44 
    5 This file is part of the OSSIE Interpolator_metadata. 
     5This file is part of the OSSIE Interpolator. 
    66 
    7 OSSIE Interpolator_metadata is free software; you can redistribute it and/or modify 
     7OSSIE Interpolator is free software; you can redistribute it and/or modify 
    88it under the terms of the GNU General Public License as published by 
    99the Free Software Foundation; either version 2 of the License, or 
    1010(at your option) any later version. 
    1111 
    12 OSSIE Interpolator_metadata is distributed in the hope that it will be useful, 
     12OSSIE Interpolator is distributed in the hope that it will be useful, 
    1313but WITHOUT ANY WARRANTY; without even the implied warranty of 
    1414MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
     
    1616 
    1717You should have received a copy of the GNU General Public License 
    18 along with OSSIE Interpolator_metadata; if not, write to the Free Software 
     18along with OSSIE Interpolator; if not, write to the Free Software 
    1919Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
    2020 
     
    2525#include "ossie/debug.h" 
    2626 
    27 #include "Interpolator_metadata.h" 
     27#include "Interpolator.h" 
    2828 
    2929using namespace std; 
    30 using namespace standardInterfacesMD;  // For standard OSSIE interface classes 
     30using namespace standardInterfaces;  // For standard OSSIE interface classes 
    3131 
    3232 
     
    4848    cout << "Identifier - " << uuid << "  Label - " << label << endl; 
    4949 
    50     Interpolator_metadata_i* interpolator_servant; 
     50    Interpolator_i* interpolator_servant; 
    5151    CF::Resource_var interpolator_var; 
    5252 
    5353    // Create the interpolator component servant and object reference 
    5454 
    55     interpolator_servant = new Interpolator_metadata_i(uuid, component_running); 
     55    interpolator_servant = new Interpolator_i(uuid, component_running); 
    5656    interpolator_var = interpolator_servant->_this(); 
    5757