/*############################################################################## HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems®. Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ############################################################################## */ #include "xslprocessor.hpp" ESPrequest CreateFileRequest { string DestDropZone; //name or IP address; string DestRelativePath; //file name and/or path; related to the predefined directory of the dropzone bool Overwrite(false); }; ESPresponse [nil_remove, exceptions_inline] CreateFileResponse { string DestDropZone; //echo back from request string DestRelativePath; //echo back from request bool Overwrite; //echo back from request string Result; }; ESPrequest WriteFileDataRequest { binary Data; string DestDropZone; //name or IP address; string DestRelativePath; //file name and/or path; int64 Offset(0); bool Append(false); }; ESPresponse [nil_remove, exceptions_inline] WriteFileDataResponse { string DestDropZone; //echo back from request string DestRelativePath; //echo back from request int64 Offset; //echo back from request bool Append; //echo back from request string Result; }; ESPrequest ReadFileDataRequest { string DestDropZone; //name or IP address; string DestRelativePath; //file name and/or path; int64 Offset(0); int64 DataSize; }; ESPresponse [nil_remove, exceptions_inline] ReadFileDataResponse { binary Data; string DestDropZone; //echo back from request string DestRelativePath; //echo back from request int64 Offset; //echo back from request int64 DataSize; //echo back from request string Result; }; ESPservice [auth_feature("DEFERRED"), exceptions_inline("./smc_xslt/exceptions.xslt")] WsFileIO { ESPmethod CreateFile(CreateFileRequest, CreateFileResponse); ESPmethod WriteFileData(WriteFileDataRequest, WriteFileDataResponse); ESPmethod ReadFileData(ReadFileDataRequest, ReadFileDataResponse); }; SCMexportdef(WsFileIO); SCMapi(WsFileIO) IClientWsFileIO *createWsFileIOClient();