13c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#ifndef _XELOCALTCPIPLINK_HPP 23c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#define _XELOCALTCPIPLINK_HPP 33c827367444ee418f129b2c238299f49d3264554Jarkko Poyry/*------------------------------------------------------------------------- 43c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * drawElements Quality Program Test Executor 53c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * ------------------------------------------ 63c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 73c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Copyright 2014 The Android Open Source Project 83c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 93c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Licensed under the Apache License, Version 2.0 (the "License"); 103c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * you may not use this file except in compliance with the License. 113c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * You may obtain a copy of the License at 123c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 133c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * http://www.apache.org/licenses/LICENSE-2.0 143c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 153c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * Unless required by applicable law or agreed to in writing, software 163c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * distributed under the License is distributed on an "AS IS" BASIS, 173c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 183c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * See the License for the specific language governing permissions and 193c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * limitations under the License. 203c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * 213c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *//*! 223c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * \file 233c827367444ee418f129b2c238299f49d3264554Jarkko Poyry * \brief Tcp/Ip link that manages execserver process. 243c827367444ee418f129b2c238299f49d3264554Jarkko Poyry *//*--------------------------------------------------------------------*/ 253c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 263c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "xeDefs.hpp" 273c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "xeCommLink.hpp" 283c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "xeTcpIpLink.hpp" 293c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#include "deProcess.h" 303c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 313c827367444ee418f129b2c238299f49d3264554Jarkko Poyrynamespace xe 323c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 333c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 343c827367444ee418f129b2c238299f49d3264554Jarkko Poyryclass LocalTcpIpLink : public CommLink 353c827367444ee418f129b2c238299f49d3264554Jarkko Poyry{ 363c827367444ee418f129b2c238299f49d3264554Jarkko Poyrypublic: 373c827367444ee418f129b2c238299f49d3264554Jarkko Poyry LocalTcpIpLink (void); 383c827367444ee418f129b2c238299f49d3264554Jarkko Poyry ~LocalTcpIpLink (void); 393c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 403c827367444ee418f129b2c238299f49d3264554Jarkko Poyry // LocalTcpIpLink -specific API 413c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void start (const char* execServerPath, const char* workDir, int port); 423c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void stop (void); 433c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 443c827367444ee418f129b2c238299f49d3264554Jarkko Poyry // CommLink API 453c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void reset (void); 463c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 473c827367444ee418f129b2c238299f49d3264554Jarkko Poyry CommLinkState getState (void) const; 483c827367444ee418f129b2c238299f49d3264554Jarkko Poyry CommLinkState getState (std::string& error) const; 493c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 503c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void setCallbacks (StateChangedFunc stateChangedCallback, LogDataFunc testLogDataCallback, LogDataFunc infoLogDataCallback, void* userPtr); 513c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 523c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void startTestProcess (const char* name, const char* params, const char* workingDir, const char* caseList); 533c827367444ee418f129b2c238299f49d3264554Jarkko Poyry void stopTestProcess (void); 543c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 553c827367444ee418f129b2c238299f49d3264554Jarkko Poyryprivate: 563c827367444ee418f129b2c238299f49d3264554Jarkko Poyry TcpIpLink m_link; 573c827367444ee418f129b2c238299f49d3264554Jarkko Poyry deProcess* m_process; 583c827367444ee418f129b2c238299f49d3264554Jarkko Poyry}; 593c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 603c827367444ee418f129b2c238299f49d3264554Jarkko Poyry} // xe 613c827367444ee418f129b2c238299f49d3264554Jarkko Poyry 623c827367444ee418f129b2c238299f49d3264554Jarkko Poyry#endif // _XELOCALTCPIPLINK_HPP 63