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

📄 stafserviceinterface.h

📁 Software Testing Automation Framework (STAF)的开发代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/*****************************************************************************//* Software Testing Automation Framework (STAF)                              *//* (C) Copyright IBM Corp. 2001                                              *//*                                                                           *//* This software is licensed under the Common Public License (CPL) V1.0.     *//*****************************************************************************/#ifndef STAF_ServiceInterface #define STAF_ServiceInterface#include "STAF.h"#include "STAFString.h"/*********************************************************************//* This header defines the interface by which STAF communicates with *//* external services.  Before calling the service directly, STAF     *//* will call STAFServiceGetLevelBounds to determine which structure  *//* levels the service supports.  Currently, STAF supports the        *//* following data structure levels:                                  *//*                                                                   *//*    ServiceInfo     - 30                                           *//*    ServiceInit     - 30                                           *//*    ServiceRequest  - 30                                           *//*    ServiceTerm     - 0                                            *//*    ServiceDestruct - 0                                            *//*                                                                   *//* In the cases where STAF only supports structure level 0, a NULL   *//* pointer is passed into the service for the structure pointer.     *//*********************************************************************/#ifdef __cplusplusextern "C" {#endiftypedef unsigned int STAFRequestNumber_t;typedef unsigned int STAFTrustLevel_t;typedef void * STAFServiceHandle_t;enum STAFServiceLevelID { kServiceInfo = 0, kServiceInit = 1,                          kServiceAcceptRequest = 2, kServiceTerm = 3,                          kServiceDestruct = 4 };typedef enum{    kSTAFServiceTypeUnknown       = 0,  // Unknown service type    kSTAFServiceTypeService       = 1,  // Regular service    kSTAFServiceTypeServiceLoader = 2,  // Service Loader Service    kSTAFServiceTypeAuthenticator = 3   // Authenticator Service} STAFServiceType_t;/**********************************************************************//* STAF passes in this structure on a STAFServiceConstruct call. The  *//* data members have the following meanings:                          *//*                                                                    *//*   name          - The name of the service                          *//*   exec          - The name of the executable that implements the   *//*                   service (This is used by proxy services that     *//*                   provide support for services in other languages. *//*                   For example, this might be the Java class name   *//*                   that implements the service of the name of the   *//*                   Rexx script that implements the service. This    *//*                   value has no meaning for C/C++ services and may  *//*                   be ignored or used for any other purpose the     *//*                   service desires.                                 *//*   writeLocation - This specifies a directory in which STAF is      *//*                   allowed to write.                                *//*   serviceType   - This specifies the type of service (e.g. regular *//*                   service, service loader service, authenticator   *//*                   service)                                         *//*   numOptions    - This specifies how many options were specified   *//*                   for this service in the STAF.cfg file            *//*   pOptionName   - This is an array of "numOptions" STAFString_t's  *//*                   which contain the names of the options specified *//*                   in the STAF.cfg file                             *//*   pOptionValue  - This is an array of "numOptions" STAFString_t's  *//*                   which contain the values of the options          *//*                   specified in the STAF.cfg file                   *//**********************************************************************/struct STAFServiceInfoLevel30{    STAFString_t name;    STAFString_t exec;    STAFString_t writeLocation;    STAFServiceType_t serviceType;    unsigned int numOptions;    STAFString_t *pOptionName;    STAFString_t *pOptionValue;};/*********************************************************************//* STAF passes in this structure on a STAFServiceInit call.  The     *//* data members have the following meanings:                         *//*                                                                   *//*   parms         - The parameters specified for this service in    *//*                   the STAF.cfg file                               *//*   writeLocation - This specifies a directory in which STAF is     *//*                   allowed to write.                               *//*********************************************************************/struct STAFServiceInitLevel30{    STAFString_t parms;    STAFString_t writeLocation;};/*********************************************************************//* STAF passes in this structure on a STAFServiceAcceptRequest call. *//* The data members have the following meanings:                     *//*                                                                   *//*   stafInstanceUUID - The UUID of the instance of STAF that        *//*                      submitted the request                        *//*   machine          - The logical interface identifier for the     *//*                      machine from which the request originated    *//*                      (if tcp interface, it's the long host name)  *//*   machineNickname  - The machine nickname of the machine from     *//*                      which the request originated                 *//*   handleName       - The registered name of the STAF handle       *//*   handle           - The STAF Handle of the requesting process    *//*   trustLevel       - The trust level of the requesting process    *//*   isLocalRequest   - Is the request from the local system         *//*   diagEnabled      - Indicates if diagnostics are enabled or not  *//*                      1=Enabled, 0=Disabled                        *//*   request          - The actual request string                    *//*   requestNumber    - The request number of the service request    *//*   user             - If the STAF Handle of the requesting process *//*                      is authenticated, this is the                *//*                      user (authenticator://userIdentifier) or     *//*                      "none://anonymous" if the handle is not      *//*                      authenticated.                               *//*   endpoint         - The endpoint from which the request          *//*                      originated in the following format:          *//*                        interface://logicalInterfaceID[@port]      *//*   physicalInterfaceID - The physical interface identifier for the *//*                      machine from which the request originated    *//*                      (if tcp interface, it's the long host name)  *//*********************************************************************/struct STAFServiceRequestLevel30{    STAFString_t        stafInstanceUUID;    STAFString_t        machine;    STAFString_t        machineNickname;    STAFString_t        handleName;    STAFHandle_t        handle;    unsigned int        trustLevel;    unsigned int        isLocalRequest;    unsigned int        diagEnabled;    STAFString_t        request;    STAFRequestNumber_t requestNumber;    STAFString_t        user;    STAFString_t        endpoint;

⌨️ 快捷键说明

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