01: /* jcifs smb client library in Java
02: * Copyright (C) 2000 "Michael B. Allen" <jcifs at samba dot org>
03: *
04: * This library is free software; you can redistribute it and/or
05: * modify it under the terms of the GNU Lesser General Public
06: * License as published by the Free Software Foundation; either
07: * version 2.1 of the License, or (at your option) any later version.
08: *
09: * This library is distributed in the hope that it will be useful,
10: * but WITHOUT ANY WARRANTY; without even the implied warranty of
11: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12: * Lesser General Public License for more details.
13: *
14: * You should have received a copy of the GNU Lesser General Public
15: * License along with this library; if not, write to the Free Software
16: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17: */
18:
19: package com.knowgate.jcifs.smb;
20:
21: import com.knowgate.misc.Gadgets;
22:
23: class SmbComRename extends ServerMessageBlock {
24:
25: private int searchAttributes;
26: private String oldFileName;
27: private String newFileName;
28:
29: SmbComRename(String oldFileName, String newFileName) {
30: command = SMB_COM_RENAME;
31: this .oldFileName = oldFileName;
32: this .newFileName = newFileName;
33: searchAttributes = ATTR_HIDDEN | ATTR_SYSTEM | ATTR_DIRECTORY;
34: }
35:
36: int writeParameterWordsWireFormat(byte[] dst, int dstIndex) {
37: writeInt2(searchAttributes, dst, dstIndex);
38: return 2;
39: }
40:
41: int writeBytesWireFormat(byte[] dst, int dstIndex) {
42: int start = dstIndex;
43:
44: dst[dstIndex++] = (byte) 0x04;
45: dstIndex += writeString(oldFileName, dst, dstIndex);
46: dst[dstIndex++] = (byte) 0x04;
47: if (useUnicode) {
48: dst[dstIndex++] = (byte) '\0';
49: }
50: dstIndex += writeString(newFileName, dst, dstIndex);
51:
52: return dstIndex - start;
53: }
54:
55: int readParameterWordsWireFormat(byte[] buffer, int bufferIndex) {
56: return 0;
57: }
58:
59: int readBytesWireFormat(byte[] buffer, int bufferIndex) {
60: return 0;
61: }
62:
63: public String toString() {
64: return new String("SmbComRename[" + super .toString()
65: + ",searchAttributes=0x"
66: + Gadgets.toHexString(searchAttributes, 4)
67: + ",oldFileName=" + oldFileName + ",newFileName="
68: + newFileName + "]");
69: }
70: }
|