blob: 85b76adb74bfc6b4070f77ef325c558d457396a3 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2017 fortiss GmbH
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Ben Schneider
* - initial implementation and documentation
*******************************************************************************/
#ifndef CSERVICECALLMANAGER_H
#define CSERVICECALLMANAGER_H
#include <esfb.h>
#include <extevhan.h>
#include <forte_thread.h>
#include <vector>
class FORTE_TRIGGER_SERVICE_CLIENT;
class CServiceCallManager : public CExternalEventHandler, private CThread{
DECLARE_HANDLER(CServiceCallManager)
private:
std::vector<FORTE_TRIGGER_SERVICE_CLIENT*> m_callerVector;
std::vector<FORTE_TRIGGER_SERVICE_CLIENT*> m_connectVector;
public:
virtual void enableHandler();
virtual void disableHandler();
virtual void setPriority(int pa_prio);
virtual int getPriority() const;
void startChain(CEventSourceFB* pa_poECStartF);
void queueServiceCall(FORTE_TRIGGER_SERVICE_CLIENT* pa_serviceClientPtr);
void queueConnectWait(FORTE_TRIGGER_SERVICE_CLIENT* pa_serviceClientPtr);
protected:
virtual void run();
};
#endif