⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testresource.h

📁 ecos为实时嵌入式操作系统
💻 H
字号:
//=================================================================////        TestResource.h////        Test resource class////=================================================================//####COPYRIGHTBEGIN####//// -------------------------------------------// The contents of this file are subject to the Cygnus eCos Public License// Version 1.0 (the "License"); you may not use this file except in// compliance with the License.  You may obtain a copy of the License at// http://sourceware.cygnus.com/ecos// // Software distributed under the License is distributed on an "AS IS"// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the// License for the specific language governing rights and limitations under// the License.// // The Original Code is eCos - Embedded Cygnus Operating System, released// September 30, 1998.// // The Initial Developer of the Original Code is Cygnus.  Portions created// by Cygnus are Copyright (C) 1998, 1999 Cygnus Solutions.// All Rights Reserved.// -------------------------------------------////####COPYRIGHTEND####//=================================================================//#####DESCRIPTIONBEGIN####//// Author(s):     sdf// Contributors:  sdf// Date:          1999-04-01// Description:   This class abstracts test resources for use in the testing infrastructure// Usage:////####DESCRIPTIONEND#####ifndef _TESTRESOURCE_H#define _TESTRESOURCE_H#include "stdafx.h"#include "eCosTest.h"#include "Port.h"// This class is used to manipulate test resources.  A test resource is the means to execute// a test (a test agent running on a tcp/ip port)class CTestResource {public:    // ctors/dtors    /*    // Necessary if we allocate arrays of them    CTestResource ();    CTestResource(const CTestResource &o);    */    CTestResource (const char *pszImage);    static bool ResourcesLocked();	static void UnlockResources(const char *pszFile,int nLine);	static void LockResources (const char *pszFile,int nLine);    void Image (CeCosTestUtils::String &str);	static bool SaveSocket (const char *pszHost,int nTcpPort);	static bool LoadSocket (const char *pszHost,int nTcpPort);	// Ctors and dtors	CTestResource(		const char *pszName,		CeCosTest::TargetType Target,		const char *pszHost,		int nPort);    CTestResource(		const char *pszName,		CeCosTest::TargetType Target,		const char *pszHost,		int nPort,		const char * pszDownloadPort, int nBaud, const char *pszResetHost, unsigned int nResetPort,			 char cControl1, char cControl2        );	virtual ~CTestResource();	CeCosTest::ServerStatus Query() const;    bool Unlock();	bool Lock ();	static CTestResource *First() { return pFirstInstance; }	CTestResource *Next() const { return m_pNextInstance; }	static void Output(FILE *f=stdout);	static CTestResource * Lookup(const char * pszHost, int nPort, bool bSim);    static unsigned int ResourceCount() { return nCount; }	static void DeleteAllInstances();	static bool LoadFile (const char *pszFileName);	static bool SaveFile (const char *pszFileName);	bool IsLocked() const { return m_bLocked; }	#ifdef _WIN32	static bool LoadReg  (); // Load information from the registry	static bool SaveReg  (); // Save information to the registry	#endif	// Attributes	const char *Host() const { return m_strHost; }	int		    Port() const { return m_nPort; }	const char *Name() const { return m_strName; }	CeCosTest::TargetType Target() const { return m_Target; }	bool Sim() const { return m_bSim; }    const char *DownloadPort() const { return m_strPort; }    //const char *DownloadPort2() const { return m_strPort2; }    int Baud() const { return m_nBaud; }							// Baud rate    char Control1()  const { return m_cControl1; }    char Control2()  const { return m_cControl2; }    const char *ResetHost() const { return m_strResetHost; }    int ResetPort() const { return m_nResetPort; }		void SetHost	(const char *pszHost) { m_strHost=pszHost; }    void SetPort    (int nPort) { m_nPort=nPort; }	void SetName	(const char *pszName) { m_strName=pszName; }	void SetTarget	(CeCosTest::TargetType target) { m_Target=target; }	void SetSim		(bool bSim) { m_bSim=bSim; }    void SetBaud    (int nBaud) { m_nBaud=nBaud; }    void SetDownloadPort(const char * pszDownloadPort) { m_strPort=pszDownloadPort; }    void SetReset   (int nPort,char c1,char c2) { m_nResetPort=nPort; m_cControl1=c1; m_cControl2=c2; }	// Scheduling functions    // Get the array of resources capable of executing "e"    // nCount gives the number of entries in ar on input    // result is the number of entries required in ar (may exceed nCount, but this case does no damage)    static unsigned int GetMatchCount (const CeCosTest::ExecutionParameters &e,bool bIgnoreLocking=false);    static unsigned int GetMatches (const CeCosTest::ExecutionParameters &e,const CTestResource ** &ar,bool bIgnoreLocking=false); // as before, but callee allocates.  Deallocate using delete [].    // Choose one from ar, using some scheduling algorithm    static unsigned int Choose (const CeCosTest::ExecutionParameters &e, const CTestResource * const * const &ar, unsigned int nCount, int nExclude=-1);protected:    unsigned static int nCount;	static void UnescapeWhitespace (CeCosTestUtils::String &str);	static void EscapeWhitespace (CeCosTestUtils::String &str);    void Chain();	char m_cControl1;	char m_cControl2;	int m_nBaud;    CeCosTestUtils::String m_strResetHost;	int m_nResetPort;    CeCosTestUtils::String m_strPort        //,m_strPort2        ;	bool m_bLocked;    CeCosTestUtils::String	m_strName;	CeCosTest::TargetType	m_Target;	CeCosTestUtils::String	m_strHost;	int m_nPort;	bool m_bSim;	CTestResource *m_pNextInstance;	CTestResource *m_pPrevInstance;	static CTestResource *pFirstInstance;    bool Matches  (const CeCosTest::ExecutionParameters &e,bool bIgnoreLocking=false) const;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -