Пример #1
0
ColProbe * CoreParamGroupHandler::createColProbe(char const * keyword, char const * name, HyPerCol * hc) {
   ColProbe * addedColProbe = NULL;

   if (keyword==NULL) {
      addedColProbe = NULL;
   }
   else if (!strcmp(keyword, "ColumnEnergyProbe")) {
      addedColProbe = new ColumnEnergyProbe(name, hc);
   }
#ifdef OBSOLETE // Marked obsolete Aug 12, 2015.  GenColProbe is being replaced by ColumnEnergyProbe
   else if( !strcmp(keyword, "GenColProbe") ) {
      addedColProbe = new GenColProbe(name, hc);
   }
#endif // OBSOLETE // Marked obsolete Aug 12, 2015.  GenColProbe is being replaced by ColumnEnergyProbe
   else if (!strcmp(keyword, "QuotientColProbe")) {
      addedColProbe = new QuotientColProbe(name, hc);
   }

   if (addedColProbe==NULL && getGroupType(keyword)==ColProbeGroupType) {
      if (hc->columnId()==0) {
         fprintf(stderr, "createColProbe error: unable to add %s\n", keyword);
      }
      MPI_Barrier(hc->icCommunicator()->communicator());
      exit(EXIT_FAILURE);
   }

   return addedColProbe;
}
Пример #2
0
PV::BaseProbe * PVtextGroupHandler::createProbe(char const * keyword, char const * name, PV::HyPerCol * hc) {
   PV::BaseProbe * probe = NULL;
   if (keyword == NULL || getGroupType(keyword) != PV::ProbeGroupType) { return probe; }
   else if (!strcmp(keyword, "TextStreamProbe")) { probe = new TextStreamProbe(name, hc); }
   
   if (probe==NULL) {
      fprintf(stderr, "Rank %d process unable to create %s \"%s\"\n", hc->columnId(), keyword, name);
      exit(EXIT_FAILURE);
   }
   return probe;
}
Пример #3
0
PV::HyPerLayer * PVtextGroupHandler::createLayer(char const * keyword, char const * name, PV::HyPerCol * hc) {
   PV::HyPerLayer * layer = NULL;
   if (keyword == NULL || getGroupType(keyword) != PV::LayerGroupType) { return layer; }
   else if (!strcmp(keyword, "TextStream")) { layer = new TextStream(name, hc); }
   
   if (layer==NULL) {
      fprintf(stderr, "Rank %d process unable to create %s \"%s\"\n", hc->columnId(), keyword, name);
      exit(EXIT_FAILURE);
   }
   return layer;
}
Пример #4
0
 // Uncomment and define the methods below for any custom keywords that need to be handled.
 // virtual HyPerLayer * createLayer(char const * keyword, char const * name, HyPerCol * hc) { return NULL; }
 // virtual BaseConnection * createConnection(char const * keyword, char const * name, HyPerCol * hc, InitWeights * weightInitializer, NormalizeBase * weightNormalizer) { return NULL; }
 virtual BaseProbe * createProbe(char const * keyword, char const * name, HyPerCol * hc) {
    BaseProbe * addedProbe = NULL;
    if (keyword == NULL || getGroupType(keyword) != ProbeGroupType) { return addedProbe; }
    else if (!strcmp(keyword, "TestPointProbe")) {
       addedProbe = new TestPointProbe(name, hc);
    }
    if (addedProbe==NULL) {
       fprintf(stderr, "Rank %d process unable to add %s \"%s\"\n", hc->columnId(), keyword, name);
       exit(EXIT_FAILURE);
    }
    return addedProbe;
  }
Пример #5
0
InitWeights * CoreParamGroupHandler::createWeightInitializer(char const * keyword, char const * name, HyPerCol * hc) {
   InitWeights * weightInitializer = NULL;

   if (keyword==NULL) {
      weightInitializer = NULL;
   }
   else if (!strcmp(keyword, "Gauss2DWeight")) {
      weightInitializer = new InitGauss2DWeights(name, hc);
   }
   else if (!strcmp(keyword, "CoCircWeight")) {
      weightInitializer = new InitCocircWeights(name, hc);
   }
   else if (!strcmp(keyword, "UniformWeight")) {
      weightInitializer = new InitUniformWeights(name, hc);
   }
   else if (!strcmp(keyword, "SmartWeight")) {
      weightInitializer = new InitSmartWeights(name, hc);
   }
   else if (!strcmp(keyword, "UniformRandomWeight")) {
      weightInitializer = new InitUniformRandomWeights(name, hc);
   }
   else if (!strcmp(keyword, "GaussianRandomWeight")) {
      weightInitializer = new InitGaussianRandomWeights(name, hc);
   }
   else if (!strcmp(keyword, "IdentWeight")) {
      weightInitializer = new InitIdentWeights(name, hc);
   }
   else if (!strcmp(keyword, "OneToOneWeights")) {
      weightInitializer = new InitOneToOneWeights(name, hc);
   }
   else if (!strcmp(keyword, "OneToOneWeightsWithDelays")) {
      weightInitializer = new InitOneToOneWeightsWithDelays(name, hc);
   }
   else if (!strcmp(keyword, "SpreadOverArborsWeight")) {
      weightInitializer = new InitSpreadOverArborsWeights(name, hc);
   }
   else if (!strcmp(keyword, "MaxPoolingWeight")) {
      weightInitializer = new InitMaxPoolingWeights(name, hc);
   }
   else if (!strcmp(keyword, "FileWeight")) {
      weightInitializer = new InitWeights(name, hc);
   }

   if (weightInitializer==NULL && getGroupType(keyword)==WeightInitializerGroupType) {
      if (hc->columnId()==0) {
         fprintf(stderr, "createWeightInitializer error: unable to add %s\n", keyword);
      }
      MPI_Barrier(hc->icCommunicator()->communicator());
      exit(EXIT_FAILURE);
   }

   return weightInitializer;
}
Пример #6
0
NormalizeBase * CoreParamGroupHandler::createWeightNormalizer(char const * keyword, char const * name, HyPerCol * hc) {
   NormalizeBase * weightNormalizer = NULL;
   bool newNormalizer = false;

   if (keyword==NULL) {
      weightNormalizer = NULL;
   }
   else if (!strcmp(keyword, "normalizeSum")) {
      newNormalizer = true;
      weightNormalizer = new NormalizeSum(name, hc);
   }
   else if (!strcmp(keyword, "normalizeL2")) {
      newNormalizer = true;
      weightNormalizer = new NormalizeL2(name, hc);
   }
   else if (!strcmp(keyword, "normalizeMax")) {
      newNormalizer = true;
      weightNormalizer = new NormalizeMax(name, hc);
   }
   else if (!strcmp(keyword, "normalizeContrastZeroMean")) {
      newNormalizer = true;
      weightNormalizer = new NormalizeContrastZeroMean(name, hc);
   }
   else if (!strcmp(keyword, "normalizeGroup")) {
      newNormalizer = false;
      weightNormalizer = NULL;
   }
   else if (!strcmp(keyword, "") || !strcmp(keyword, "none")) {
      newNormalizer = false;
      weightNormalizer = NULL;
   }

   if (weightNormalizer==NULL && newNormalizer) {
      assert(getGroupType(keyword)==WeightNormalizerGroupType);
      if (hc->columnId()==0) {
         fprintf(stderr, "createWeightInitializer error: unable to add %s\n", keyword);
      }
      MPI_Barrier(hc->icCommunicator()->communicator());
      exit(EXIT_FAILURE);
   }

   return weightNormalizer;
}
Пример #7
0
BaseProbe * CoreParamGroupHandler::createProbe(char const * keyword, char const * name, HyPerCol * hc) {
   BaseProbe * addedProbe = NULL;

   // Layer probe keywords
   if (keyword==NULL) {
      addedProbe = NULL;
   }
   else if( !strcmp(keyword, "LayerProbe") ) {
      fprintf(stderr, "LayerProbe \"%s\": Abstract class LayerProbe cannot be instantiated.\n", name);
      addedProbe = NULL;
   }
   else if( !strcmp(keyword, "FirmThresholdCostFnLCAProbe") ) {
      addedProbe = new FirmThresholdCostFnLCAProbe(name, hc);
   }
   else if( !strcmp(keyword, "FirmThresholdCostFnProbe") ) {
      addedProbe = new FirmThresholdCostFnProbe(name, hc);
   }
   else if( !strcmp(keyword, "L0NormLCAProbe") ) {
      addedProbe = new L0NormLCAProbe(name, hc);
   }
   else if( !strcmp(keyword, "L0NormProbe") ) {
      addedProbe = new L0NormProbe(name, hc);
   }
   else if( !strcmp(keyword, "L1NormLCAProbe") ) {
      addedProbe = new L1NormLCAProbe(name, hc);
   }
   else if( !strcmp(keyword, "L1NormProbe") ) {
      addedProbe = new L1NormProbe(name, hc);
   }
   else if( !strcmp(keyword, "L2NormProbe") ) {
      addedProbe = new L2NormProbe(name, hc);
   }
#ifdef OBSOLETE // Marked obsolete Aug 12, 2015.  Functionality of LayerFunctionProbe being added to BaseProbe
   else if( !strcmp(keyword, "LayerFunctionProbe") ) {
      addedProbe = new LayerFunctionProbe(name, hc);
   }
#endif // OBSOLETE // Marked obsolete Aug 12, 2015.  Functionality of LayerFunctionProbe being added to BaseProbe
   else if( !strcmp(keyword, "PointLIFProbe") ) {
      addedProbe = new PointLIFProbe(name, hc);
   }
   else if( !strcmp(keyword, "PointProbe") ) {
      addedProbe = new PointProbe(name, hc);
   }
   else if( !strcmp(keyword, "RequireAllZeroActivityProbe") ) {
      addedProbe = new RequireAllZeroActivityProbe(name, hc);
   }
#ifdef OBSOLETE // Marked obsolete Jul 28, 2015.  Moved to obsolete/io
   else if( !strcmp(keyword, "SparsityLayerProbe") ) {
      addedProbe = new SparsityLayerProbe(name, hc);
   }
#endif // OBSOLETE // Marked obsolete Jul 28, 2015.  Moved to obsolete/io
   else if( !strcmp(keyword, "StatsProbe") ) {
      addedProbe = new StatsProbe(name, hc);
   }

   // Connection probe keywords
   else if( !strcmp(keyword, "KernelProbe") ) {
      addedProbe = new KernelProbe(name, hc);
   }

   if (addedProbe==NULL && getGroupType(keyword)==ProbeGroupType) {
         if (hc->columnId()==0) {
            fprintf(stderr, "createProbe error: unable to add %s\n", keyword);
         }
         MPI_Barrier(hc->icCommunicator()->communicator());
         exit(EXIT_FAILURE);
   }

   return addedProbe;
}
Пример #8
0
BaseConnection * CoreParamGroupHandler::createConnection(char const * keyword, char const * name, HyPerCol * hc, InitWeights * weightInitializer, NormalizeBase * weightNormalizer) {
   BaseConnection * addedConnection = NULL;

   if (keyword==NULL) {
      addedConnection = NULL;
   }
   else if( !strcmp(keyword, "HyPerConn") ) {
      addedConnection = new HyPerConn(name, hc, weightInitializer, weightNormalizer);
   }
   else if( !strcmp(keyword, "CloneConn") ) {
      addedConnection = new CloneConn(name, hc);
   }
   else if( !strcmp(keyword, "CloneKernelConn") ) {
      // Deprecated as of June 6, 2014.  Use CloneConn with sharedWeight = true
      addedConnection = new CloneKernelConn(name, hc);
   }
   else if( !strcmp(keyword, "CopyConn") ) {
      addedConnection = new CopyConn(name, hc, weightNormalizer);
   }
   else if( !strcmp(keyword, "FeedbackConn") ) {
      addedConnection = new FeedbackConn(name, hc);
   }
   else if( !strcmp(keyword, "GapConn") ) {
      addedConnection = new GapConn(name, hc, weightInitializer, weightNormalizer);
   }
   else if( !strcmp(keyword, "IdentConn") ) {
      addedConnection = new IdentConn(name, hc);
   }
   else if( !strcmp(keyword, "ImprintConn") ) {
      addedConnection = new ImprintConn(name, hc, weightInitializer, weightNormalizer);
   }
   else if( !strcmp(keyword, "KernelConn") ) {
      // Deprecated as of June 5, 2014.  Use HyPerConn with sharedWeight = true
      addedConnection = new KernelConn(name, hc, weightInitializer, weightNormalizer);
   }
#ifdef OBSOLETE // Marked obsolete June 29, 2015. Moved to obsolete/connections
   else if( !strcmp(keyword, "LCALIFLateralConn") ) {
      addedConnection = new LCALIFLateralConn(name, hc, weightInitializer, weightNormalizer);
   }
#endif
   else if( !strcmp(keyword, "MomentumConn") ) {
      addedConnection = new MomentumConn(name, hc, weightInitializer, weightNormalizer);
   }
#ifdef OBSOLETE // Marked obsolete June 29, 2015. Moved to obsolete/connections
   else if( !strcmp(keyword, "OjaSTDPConn") ) {
      addedConnection = new OjaSTDPConn(name, hc, weightInitializer, weightNormalizer);
   }
#endif
   else if( !strcmp(keyword, "PlasticCloneConn") ) {
      addedConnection = new PlasticCloneConn(name, hc);
   }
   else if( !strcmp(keyword, "PoolingConn") ) {
      addedConnection = new PoolingConn(name, hc);
   }
   else if( !strcmp(keyword, "TransposeConn") ) {
      addedConnection = new TransposeConn(name, hc);
   }
   else if( !strcmp(keyword, "TransposePoolingConn") ) {
      addedConnection = new TransposePoolingConn(name, hc);
   }

   if (addedConnection==NULL &&getGroupType(keyword)==ConnectionGroupType) {
      if (hc->columnId()==0) {
         fprintf(stderr, "createConnection error: unable to add %s\n", keyword);
      }
      MPI_Barrier(hc->icCommunicator()->communicator());
      exit(EXIT_FAILURE);
   }

   return addedConnection;
}
Пример #9
0
HyPerLayer * CoreParamGroupHandler::createLayer(char const * keyword, char const * name, HyPerCol * hc) {
   HyPerLayer * addedLayer = NULL;
   if (keyword==NULL) {
      addedLayer = NULL;
   }
   else if( !strcmp(keyword, "HyPerLayer") ) {
      fprintf(stderr, "Group \"%s\": abstract class HyPerLayer cannot be instantiated.\n", name);
      addedLayer = NULL;
   }
   else if( !strcmp(keyword, "ANNErrorLayer") ) {
      addedLayer = new ANNErrorLayer(name, hc);
   }
   else if( !strcmp(keyword, "ANNLayer") ) {
      addedLayer = new ANNLayer(name, hc);
   }
   else if( !strcmp(keyword, "ANNNormalizedErrorLayer") ) {
      addedLayer = new ANNNormalizedErrorLayer(name, hc);
   }
   else if( !strcmp(keyword, "ANNSquaredLayer") ) {
      addedLayer = new ANNSquaredLayer(name, hc);
   }
      if( !strcmp(keyword, "ANNTriggerUpdateOnNewImageLayer") ) {
         // ANNTriggerUpdateOnNewImageLayer is obsolete as of April 23, 2014.  Leaving it in the code for a while for a useful error message.
         // Use ANNLayer with triggerFlag set to true and triggerLayerName for the triggering layer
         if (hc->columnId()==0) {
            fprintf(stderr, "Error: ANNTriggerUpdateOnNewImageLayer is obsolete.\n");
            fprintf(stderr, "    Use ANNLayer with parameter triggerFlag set to true\n");
            fprintf(stderr, "    and triggerLayerName set to the triggering layer.\n");
         }
         MPI_Barrier(hc->icCommunicator()->communicator());
         exit(EXIT_FAILURE);
      }
   else if( !strcmp(keyword, "ANNWhitenedLayer") ) {
      addedLayer = new ANNWhitenedLayer(name, hc);
   }
   else if( !strcmp(keyword, "BackgroundLayer") ) {
      addedLayer = new BackgroundLayer(name, hc);
   }
   else if( !strcmp(keyword, "BinningLayer") ) {
      addedLayer = new BinningLayer(name, hc);
   }
   else if( !strcmp(keyword, "CloneVLayer") ) {
      addedLayer = new CloneVLayer(name, hc);
   }
   else if( !strcmp(keyword, "ConstantLayer") ) {
      addedLayer = new ConstantLayer(name, hc);
   }
#ifdef OBSOLETE // Marked obsolete June 17, 2015.  Moved to obsolete/layers
   else if( !strcmp(keyword, "CreateMovies") ) {
      addedLayer = new CreateMovies(name, hc);
   }
#endif // Marked obsolete June 17, 2015.  Moved to obsolete/layers
   else if( !strcmp(keyword, "FilenameParsingGroundTruthLayer") ) {
      addedLayer = new FilenameParsingGroundTruthLayer(name, hc);
   }
   else if( !strcmp(keyword, "GapLayer") ) {
      addedLayer = new GapLayer(name, hc);
   }
   else if( !strcmp(keyword, "HyPerLCALayer") ) {
      addedLayer = new HyPerLCALayer(name, hc);
   }
   else if( !strcmp(keyword, "ISTALayer") ) {
     addedLayer = new ISTALayer(name, hc);
   }
   else if( !strcmp(keyword, "Image") ) {
      addedLayer = new Image(name, hc);
   }
   else if( !strcmp(keyword, "ImagePvp") ) {
      addedLayer = new ImagePvp(name, hc);
   }
   else if( !strcmp(keyword, "ImageFromMemoryBuffer") ) {
      addedLayer = new ImageFromMemoryBuffer(name, hc);
   }
#ifdef OBSOLETE // Marked obsolete June 17, 2015.  Moved to obsolete/layers
   else if( !strcmp(keyword, "IncrementLayer") ) {
      addedLayer = new IncrementLayer(name, hc);
   }
#endif // OBSOLETE // Marked obsolete June 17, 2015.  Moved to obsolete/layers
   else if( !strcmp(keyword, "KmeansLayer") ) {
      addedLayer = new KmeansLayer(name, hc);
   }
   else if( !strcmp(keyword, "LCALIFLayer") ) {
      addedLayer = new LCALIFLayer(name, hc);
   }
   else if( !strcmp(keyword, "LIF") ) {
      addedLayer = new LIF(name, hc);
   }
   else if( !strcmp(keyword, "LIFGap") ) {
      addedLayer = new LIFGap(name, hc);
   }
   else if( !strcmp(keyword, "LabelErrorLayer") ) {
      addedLayer = new LabelErrorLayer(name, hc);
   }
   else if( !strcmp(keyword, "LabelLayer") ) {
      addedLayer = new LabelLayer(name, hc);
   }
   else if( !strcmp(keyword, "LeakyIntegrator") ) {
      addedLayer = new LeakyIntegrator(name, hc);
   }
   else if( !strcmp(keyword, "MaskLayer") ) {
      addedLayer = new MaskLayer(name, hc);
   }
   else if( !strcmp(keyword, "Movie") ) {
      addedLayer = new Movie(name, hc);
   }
   else if( !strcmp(keyword, "MoviePvp") ) {
      addedLayer = new MoviePvp(name, hc);
   }
   else if( !strcmp(keyword, "Patterns") ) {
      addedLayer = new Patterns(name, hc);
   }
   else if( !strcmp(keyword, "PoolingIndexLayer") ) {
      addedLayer = new PoolingIndexLayer(name, hc);
   }
   else if( !strcmp(keyword, "PtwiseLinearTransferLayer") ) {
      addedLayer = new PtwiseLinearTransferLayer(name, hc);
   }
   else if (!strcmp(keyword, "PtwiseProductLayer") ) {
      addedLayer = new PtwiseProductLayer(name, hc);
   }
   else if( !strcmp(keyword, "RescaleLayer") ) {
      addedLayer = new RescaleLayer(name, hc);
   }
   else if( !strcmp(keyword, "RunningAverageLayer") ) {
      addedLayer = new RunningAverageLayer(name, hc);
   }
   else if( !strcmp(keyword, "Retina") ) {
      addedLayer = new Retina(name, hc);
   }
   else if( !strcmp(keyword, "Segmentify") ) {
      addedLayer = new Segmentify(name, hc);
   }
   else if( !strcmp(keyword, "SegmentLayer") ) {
      addedLayer = new SegmentLayer(name, hc);
   }
   else if( !strcmp(keyword, "ShuffleLayer") ) {
      addedLayer = new ShuffleLayer(name, hc);
   }
   else if( !strcmp(keyword, "SigmoidLayer") ) {
      addedLayer = new SigmoidLayer(name, hc);
   }
#ifdef OBSOLETE // Marked obsolete June 17, 2015
   else if( !strcmp(keyword, "TrainingLayer") ) {
      addedLayer = new TrainingLayer(name, hc);
   }
#endif // OBSOLETE
   else if( !strcmp(keyword, "WTALayer") ) {
      addedLayer = new WTALayer(name, hc);
   }

   if (addedLayer==NULL && getGroupType(keyword)==LayerGroupType) {
      if (hc->columnId()==0) {
         fprintf(stderr, "createLayer error: unable to add %s\n", keyword);
      }
      MPI_Barrier(hc->icCommunicator()->communicator());
      exit(EXIT_FAILURE);
   }

   return addedLayer;
}
UtlBoolean TaoPhoneComponentAdaptor::handleMessage(OsMsg& rMsg)
{
        UtlBoolean handled = FALSE;
        int msgType = ((TaoMessage&)rMsg).getMsgSubType();

        if( TaoMessage::REQUEST_PHONECOMPONENT == msgType)
        {
                switch (((TaoMessage&)rMsg).getCmd())
                {
                case TaoMessage::BUTTON_PRESS:
                        if (TAO_SUCCESS == buttonPress((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::BUTTON_UP:
                        if (TAO_SUCCESS == buttonUp((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::BUTTON_DOWN:
                        if (TAO_SUCCESS == buttonDown((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::BUTTON_GET_INFO:
                        if (TAO_SUCCESS == getButtonInfo((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::BUTTON_SET_INFO:
                        if (TAO_SUCCESS == setButtonInfo((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::BUTTON_GET_PHONELAMP:
                        if (TAO_SUCCESS == getAssociatedPhoneLamp((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::HOOKSWITCH_GET_STATE:
                        if (TAO_SUCCESS == getHookswState((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::HOOKSWITCH_SET_STATE:
                        if (TAO_SUCCESS == setHookswState((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::HOOKSWITCH_GET_CALL:
                        if (TAO_SUCCESS == getHookswCall((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::LAMP_GET_MODE:
                        if (TAO_SUCCESS == getHookswCall((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::LAMP_GET_SUPPORTED_MODES:
                        if (TAO_SUCCESS == getHookswCall((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::LAMP_GET_BUTTON:
                        if (TAO_SUCCESS == getHookswCall((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::LAMP_SET_MODE:
                        if (TAO_SUCCESS == setLampMode((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
        /* ----------------------------- PHONEDISPALY --------------------------------- */
                case TaoMessage::DISPLAY_GET_DISPLAY:
                        if (TAO_SUCCESS == getDisplay((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::DISPLAY_GET_ROWS:
                        if (TAO_SUCCESS == getDisplayRows((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::DISPLAY_GET_COLS:
                        if (TAO_SUCCESS == getDisplayColumns((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::DISPLAY_SET_DISPLAY:
                        if (TAO_SUCCESS == setDisplay((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::DISPLAY_GET_CONTRAST:
                        if (TAO_SUCCESS == getDisplayContrast((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::DISPLAY_SET_CONTRAST:
                        if (TAO_SUCCESS == setDisplayContrast((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
        /* ----------------------------- PHONEMIC --------------------------------- */
                case TaoMessage::MIC_GET_GAIN:
                        if (TAO_SUCCESS == getMicGain((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::MIC_SET_GAIN:
                        if (TAO_SUCCESS == setMicGain((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
        /* ----------------------------- PHONERINGER --------------------------------- */
                case TaoMessage::RINGER_SET_INFO:
                        if (TAO_SUCCESS == setRingerInfo((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::RINGER_SET_PATTERN:
                        if (TAO_SUCCESS == setRingerPattern((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::RINGER_SET_VOLUME:
                        if (TAO_SUCCESS == setRingerVolume((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::RINGER_GET_INFO:
                        if (TAO_SUCCESS == getRingerInfo((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::RINGER_GET_PATTERN:
                        if (TAO_SUCCESS == getRingerPattern((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::RINGER_GET_VOLUME:
                        if (TAO_SUCCESS == getRingerVolume((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::RINGER_GET_MAX_PATTERN_INDEX:
                        if (TAO_SUCCESS == getMaxRingPatternIndex((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::RINGER_GET_NUMBER_OF_RINGS:
                        if (TAO_SUCCESS == getNumberOfRings((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::RINGER_IS_ON:
                        if (TAO_SUCCESS == isRingerOn((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
        /* ----------------------------- PHONESPEAKER --------------------------------- */
                case TaoMessage::SPEAKER_SET_VOLUME:
                        if (TAO_SUCCESS == setSpeakerVolume((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::SPEAKER_GET_VOLUME:
                        if (TAO_SUCCESS == getSpeakerVolume((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::SPEAKER_GET_NOMINAL_VOLUME:
                        if (TAO_SUCCESS == getSpeakerNominalVolume((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
        /* ----------------------------- PHONEEXTSPEAKER --------------------------------- */
                case TaoMessage::EXTSPEAKER_SET_VOLUME:
                        if (TAO_SUCCESS == setExtSpeakerVolume((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::EXTSPEAKER_GET_VOLUME:
                        if (TAO_SUCCESS == getExtSpeakerVolume((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::EXTSPEAKER_GET_NOMINAL_VOLUME:
                        if (TAO_SUCCESS == getExtSpeakerNominalVolume((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
        /* ----------------------------- PHONEGROUP --------------------------------- */
                case TaoMessage::PHONEGROUP_ACTIVATE:
                        if (TAO_SUCCESS == activateGroup((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::PHONEGROUP_DEACTIVATE:
                        if (TAO_SUCCESS == deactivateGroup((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::PHONEGROUP_GET_COMPONENTS:
                        if (TAO_SUCCESS == getGroupComponents((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::PHONEGROUP_GET_DESCRIPTION:
                        if (TAO_SUCCESS == getGroupDescription((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::PHONEGROUP_GET_TYPE:
                        if (TAO_SUCCESS == getGroupType((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::PHONEGROUP_IS_ACTIVATED:
                        if (TAO_SUCCESS == isGroupActivated((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;
                case TaoMessage::COMPONENT_RESULT:
                        if (TAO_SUCCESS == returnResult((TaoMessage&)rMsg))
                        {
                                handled = TRUE;
                        }
                        break;

                default:
                  break;
                }
        }
        else if (TaoMessage::RESPONSE_PHONECOMPONENT == msgType)
        {
                if (TAO_SUCCESS == returnResult((TaoMessage&)rMsg))
                        handled = TRUE;
        }

        if (!handled)
        {
                TaoMessage*     pMsg = (TaoMessage*) &rMsg;

                pMsg->setArgCnt(1);
                pMsg->setArgList("-1");

                if (mpSvrTransport->postMessage(*pMsg))
                        handled = TRUE;
        }

        return handled;
}