ExtAPI.hpp
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2003 MySQL AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. #ifndef EXTAPI_HPP
  14. #define EXTAPI_HPP
  15. #include <signaldata/RepImpl.hpp>
  16. #include <signaldata/GrepImpl.hpp>
  17. #include <signaldata/SumaImpl.hpp>
  18. #include <rep/ExtSender.hpp>
  19. /**
  20.  * The abstract class for all extractors
  21.  */
  22. class ExtAPI
  23. {
  24. public:
  25.   /***************************************************************************
  26.    * Constructor / Destructor
  27.    ***************************************************************************/
  28. #if 0
  29.   bool init(const char * connectString = NULL);
  30.   
  31.   GrepError::Code dataLogStarted(Uint32 epoch, 
  32.  Uint32 subId, Uint32 subKey) = 0;
  33.   GrepError::Code metaLogStarted(Uint32 epoch, 
  34.  Uint32 subId, Uint32 subKey) = 0;
  35.   GrepError::Code epochComleted() = 0;
  36.   GrepError::Code subscriptionCreated() = 0;
  37.   GrepError::Code subscriptionRemoved() = 0;
  38.   GrepError::Code metaScanCompleted() = 0;
  39.   GrepError::Code dataScanCompleted() = 0;
  40.   GrepError::Code subscriptionRemoveFailed() = 0;
  41.   GrepError::Code metaScanFailed() = 0;
  42.   GrepError::Code dataScanFailed() = 0;
  43.   GrepError::Code subscriptiodIdCreateFailed() = 0;
  44.   GrepError::Code dataLogFailed() = 0;
  45.   GrepError::Code metaLogFailed() = 0;
  46.   GrepError::Code subscriptionCreateFailed() = 0;
  47.   /**Above to be deleted*/
  48. #endif
  49.   virtual GrepError::Code 
  50.   eventSubscriptionIdCreated(Uint32 subId, Uint32 subKey) ;
  51. #if 0
  52.   GrepError::Code 
  53.   eventSubscriptionDeleted(Uint32 subId, Uint32 subKey);
  54.   GrepError::Code 
  55.   eventMetaLogStarted(NdbApiSignal*, Uint32 subId, Uint32 subKey);
  56.   
  57.   GrepError::Code 
  58.   eventDataLogStarted(NdbApiSignal*, Uint32 subId, Uint32 subKey);
  59.   GrepError::Code 
  60.   eventMetaScanCompleted(NdbApiSignal*, Uint32 subId, Uint32 subKey,
  61.  Interval epochs);
  62.   GrepError::Code 
  63.   eventDataScanCompleted(NdbApiSignal*, Uint32 subId, Uint32 subKey, 
  64.  Interval epochs);
  65.   GrepError::Code 
  66.   eventMetaScanFailed(Uint32 subId, Uint32 subKey, GrepError::Code error);
  67.   GrepError::Code 
  68.   eventDataScanFailed(Uint32 subId, Uint32 subKey, GrepError::Code error);
  69. #endif
  70.   /***************************************************************************
  71.    * Public Methods
  72.    ***************************************************************************/
  73.   void  setRepSender(ExtSender * es) { m_repSender = es; };
  74.   //void  signalErrorHandler(NdbApiSignal * s, Uint32 nodeId);
  75. protected:
  76.   ExtSender * m_repSender;
  77. };
  78. #if 0
  79. class TestExtAPI : public ExtAPI
  80. {
  81.   GrepError::Code 
  82.   eventSubscriptionIdCreated(Uint32 subId, Uint32 subKey) {
  83.     ndbout_c("Received subscription:%d-%d");
  84.   };
  85. };
  86. #endif
  87. #endif // EXTAPI_HPP