ludc
2025-01-16 68fd566d21b3efc3a670a5295289b1801f5a4155
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#ifndef _VOLUME_IDL
#define _VOLUME_IDL
 
#include "01-base.idl"
#include "02-framework.idl"
 
module com {
    module vci {
        module corba { 
            module volume {
                module data {
                    /**卷信息**/
                    struct PvolumeInfo {                    
                        wstring id;        //卷id
                        wstring name;    //卷名称
                        wstring host;   //卷所在的服务器
                        wstring service;//卷所在的服务
                        long type;        //卷服务器类型
                        wstring path;    //卷所在服务器路径    
                        long isvalid;     //是否为首选路径                      
                    };
                    typedef sequence<PvolumeInfo> PvolumeInfoList;
                    // 文件信息
                    struct FileInfo {
                        wstring filePath;
                        wstring fileSavePath;
                        boolean isDirectory;
                        long long fileSize;
                    };
                    typedef sequence<FileInfo> FileInfoList;
 
                    // 卷使用情况
                    struct VolumeUseInfo {
                        long isvalid;
                        wstring id;
                        wstring name;
                        wstring host;
                        wstring service;
                        long type;
                        wstring path;
                        wstring usedSize;
                        wstring diskSize;
                    };typedef sequence<VolumeUseInfo> VolumeUseInfoList;
                };// data
                
                interface VolumeService {
                    // 根据卷路径判断文件是否存在
                    boolean isFileExist(in wstring fileName) raises (corba::common::VCIError);
                    //判断路径是否存在
                    boolean existPath(in wstring filePath) raises (corba::common::VCIError);                    
                    //得到系统当前时间
                    long long getCurrrentTimeMillions();
                    //获取当前文件柜服务器Host信息(返回格式为"HostIPIP@|@HostName")[冗余存储主要解决可能由于文件柜服务器部署变更引起的问题分析, ADD By ZhongGY 2015-03-24]
                    wstring getHostInfo() raises (corba::common::VCIError);
                    //得到文件修改时间
                    long long  getFileModifiedTime(in wstring fileName) raises (corba::common::VCIError);
                    //得到文件大小
                    long long getFileSize(in wstring fileName)raises (corba::common::VCIError);
                    //删除文件
                    boolean deleteFile(in wstring fileName) raises (corba::common::VCIError);
                    //更改文件名称
                    boolean ChangeFileName(in wstring resName,in wstring desName) raises (corba::common::VCIError);
                    //服务器端接收文件,客户端上传文件
                    boolean receiveFile(in wstring fileName,in corba::common::data::bytes file,in long long pointoffile,in long long modifiedtime,in long long filesize) raises (corba::common::VCIError);
                    // 校验上传到卷服务的文件是否完整(完成)
                    // destFileFullPath: 远程文件完整路径
                    // clientFileSize: 客户端文件大小
                    // clientFileMD5: 客户端文件MD5值
                    // otherParams: 其它保留参数
                    boolean verifyFileUploadSuccess(in wstring destFileFullPath, in long long clientFileSize, 
                                                    in wstring clientFileMD5, in corba::common::data::WStringArray otherParams) 
                                                    raises (corba::common::VCIError);
                    //创建目录
                    boolean createDirectory(in wstring historyDirectory, in wstring directoryName) raises (corba::common::VCIError);
                    //删除指定文件及其所有备份
                    boolean deleteAllFiles(in corba::common::data::WStringArray fileNames) raises (corba::common::VCIError);
                    //删除指定文件的所有备份
                    boolean deleteAllBakFiles(in wstring fileName) raises (corba::common::VCIError);
                    //服务器端发送文件,客户端下载文件
                    corba::common::data::bytes sendFile(in wstring fileName, in long long pointoffile) raises (corba::common::VCIError);
                    
                    corba::common::data::byteSeq downloadFile(in wstring fileName) raises (corba::common::VCIError);
                    
                    //获取服务器目录的所有文件列表
                    data::FileInfoList getFileList(in wstring path, in wstring savePath) raises (corba::common::VCIError);
                    
                    //获取服务器目录的所有文件列表
                    data::FileInfoList getFolderFiles(in wstring path) raises (corba::common::VCIError);
 
                    //获取服务器目录的子目录
                    com::vci::corba::common::data::WStringArray getSubFolders(in wstring path) raises (corba::common::VCIError);
                    
                    //得到文件的md5值,用于比较文件内容是否一样
                    wstring getFileMD5(in wstring fileName) raises (corba::common::VCIError);
                    
                    //通过集成方式获得文件大小
                    long long getIntegrationFileSize(in string fileName) raises (corba::common::VCIError);
 
                    //集成方式服务器端发送文件
                    corba::common::data::bytes receiveIntegrationFile(in string fileName, in long long pointoffile) raises (corba::common::VCIError);
                    
                    //复制文件
                    boolean copyFile(in wstring fromFileName, in wstring copyFileName) raises (corba::common::VCIError);
                    
                    boolean testConntect();
                    //获取文件柜使用情况
                    data::VolumeUseInfoList getVolumeUseInfo() raises (corba::common::VCIError);
                }; // VolumeService
                
                interface VolumeFactory {
                    /**卷管理**/
                    /**读取所有的卷**/
                    data::PvolumeInfoList getAllPvolumes() raises(com::vci::corba::common::VCIError);
                    // 查询默认卷
                    data::PvolumeInfo getDefaultVolume() raises(com::vci::corba::common::VCIError);
                    /**分页读取卷**/
                    data::PvolumeInfoList getPvolumesPage(in long  pageSize, in long pageIndex) raises(com::vci::corba::common::VCIError);
                        /**卷创建**/
                    wstring savePvolume(in data::PvolumeInfo vol, in com::vci::corba::framework::data::UserEntityInfo userEntity) raises (com::vci::corba::common::VCIError);
                    /**卷修改**/
                    boolean updatePvolume(in data::PvolumeInfo vol, in com::vci::corba::framework::data::UserEntityInfo userEntity) raises (com::vci::corba::common::VCIError);
                    /**卷删除**/
                    boolean deletePvolume(in com::vci::corba::common::data::WStringArray ids, in com::vci::corba::framework::data::UserEntityInfo userEntity) raises (com::vci::corba::common::VCIError);
                    /**获取文档所在的卷**/
                    data::PvolumeInfo getDocumentVolume(in wstring id) raises (com::vci::corba::common::VCIError);
                    /**修改卷,将系统中的其他卷设置为非首选 0**/
                    void updatePvolumeHql(in com::vci::corba::framework::data::UserEntityInfo userEntity) raises (com::vci::corba::common::VCIError);
                    /**查看卷是否被引用**/
                    long fetchVolumeInfoByIds(in wstring id) raises (com::vci::corba::common::VCIError);
                    /**检查要删除的卷是否为首选路径**/
                    boolean checkDelIsvalid(in wstring id) raises (com::vci::corba::common::VCIError);
                        /**获取当前首选卷**/
                    data::PvolumeInfo getIsvalidVolumeName()raises (com::vci::corba::common::VCIError);
                    /** 返回一个在服务器端有效的卷对象  ${user.dir}\attachments\ **/
                    data::PvolumeInfo getIsvalidVolumeNameInServerEnv() raises (com::vci::corba::common::VCIError);
                    // 获取文件传输块大小
                    long getTransmitBlockSize() raises (com::vci::corba::common::VCIError);
 
                    // 获取卷服务
                    //VolumeService getVolumeService() raises (corba::common::VCIError);
 
                };// VolumeFactory
            };//volume
        };//corba
    };//vci
};//com
#endif