|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectRvCommand
AbstractRvCmd
AbstractRequestRvCmd
GetFileReqRvCmd
A rendezvous command used to request browsing another user's files via a
"Get File" connection. This command is also used to "redirect" a Get File
connection to a new TCP "location" should a connection attempt as per the
initial request's connection information block fail.
Note that several fields of this command are not yet understood:
0x0012
(CODE_DEFAULT
) in WinAIM 0x0002
(PROTOVERSION_DEFAULT
) in WinAIM 5.2 and 0x0001
(PROTOVERSION_OLD
) in WinAIM 5.1 and previous EXTRABLOCK_DEFAULT
) in AIM 5.2 and four null bytes in AIM 5.1 and
previous"us-ascii"
(CHARSET_DEFAULT
))
Field Summary | |
static java.lang.String |
CHARSET_DEFAULT
A charset value used in Get File requests by WinAIM regardless of file content or platform. |
static int |
CODE_DEFAULT
The "code" value always used by WinAIM. |
static ByteBlock |
EXTRABLOCK_DEFAULT
An "extra data block" used by WinAIM 5.2. |
static long |
FLAG_EXPAND_DYNAMIC
A flag used to indicate that the user's entire shared file list should not be listed recursively on connect but rather only a single directory, with subdirectories being listed dynamically as they are viewed by the user. |
static int |
PROTOVERSION_DEFAULT
The "protocol version" used by WinAIM 5.2 beta. |
static int |
PROTOVERSION_OLD
The "protocol version" used by WinAIM 5.1.* and older. |
Fields inherited from class AbstractRequestRvCmd |
FPRESENT_DEFAULT, REQTYPE_INITIALREQUEST, REQTYPE_REDIRECT |
Fields inherited from class RvCommand |
RVSTATUS_ACCEPT, RVSTATUS_DENY, RVSTATUS_REQUEST |
Constructor Summary | |
GetFileReqRvCmd(int requestType,
RvConnectionInfo connInfo)
Creates a new outgoing Get File session request / redirect with the given request type and the given connection information block. |
|
GetFileReqRvCmd(int requestType,
RvConnectionInfo connInfo,
java.lang.String charset,
int code,
int protoVersion,
long flags,
ByteBlock extraBlock)
Creates a new outgoing Get File session request / redirect (depending on requestType ) with the given properties. |
|
GetFileReqRvCmd(RecvRvIcbm icbm)
Creates a new Get File session request from the given incoming Get File request RV ICBM. |
|
GetFileReqRvCmd(RvConnectionInfo connInfo)
Creates a new outgoing initial Get File session request with the given connection information block and a default set of other properties. |
|
GetFileReqRvCmd(RvConnectionInfo connInfo,
long flags)
Creates a new outgoing initial Get File session request with the given connection information block and set of flags as well as a default set of other properties. |
Method Summary | |
java.lang.String |
getCharset()
Returns the charset name sent in this request. |
int |
getCode()
Returns the "code" value sent in this request. |
RvConnectionInfo |
getConnInfo()
Returns the connection information block sent in this request/redirection. |
ByteBlock |
getExtraBlock()
Returns this request's "extra data block" value. |
long |
getFlags()
Returns the bit flags sent in this request. |
int |
getProtoVersion()
Returns the "protocol version" value sent in this command. |
protected boolean |
hasServiceData()
Returns whether this RV command's TLV list should contain a "service data block" TLV. |
java.lang.String |
toString()
|
protected void |
writeRvTlvs(java.io.OutputStream out)
Writes this RV command's list of rendezvous TLV's to the given stream. |
protected void |
writeServiceData(java.io.OutputStream out)
Writes this RV command's "service data block." |
Methods inherited from class AbstractRequestRvCmd |
getRequestType, isFPresent, writeHeaderRvTlvs |
Methods inherited from class AbstractRvCmd |
getRvTlvs, getServiceData, writeRvData |
Methods inherited from class RvCommand |
getCapabilityBlock, getRvStatus |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final java.lang.String CHARSET_DEFAULT
public static final int CODE_DEFAULT
public static final int PROTOVERSION_DEFAULT
public static final int PROTOVERSION_OLD
public static final long FLAG_EXPAND_DYNAMIC
public static final ByteBlock EXTRABLOCK_DEFAULT
Constructor Detail |
public GetFileReqRvCmd(RecvRvIcbm icbm)
icbm
- an incoming Get File request RV ICBMpublic GetFileReqRvCmd(RvConnectionInfo connInfo)
new GetFileReqRvCmd(REQTYPE_INITIALREQUEST, connInfo,
CHARSET_DEFAULT, CODE_DEFAULT, PROTOVERSION_DEFAULT,
FLAG_EXPAND_DYNAMIC, EXTRABLOCK_DEFAULT)
.
connInfo
- a block of connection information to send in this commandpublic GetFileReqRvCmd(RvConnectionInfo connInfo, long flags)
new GetFileReqRvCmd(REQTYPE_INITIALREQUEST, connInfo,
CHARSET_DEFAULT, CODE_DEFAULT, PROTOVERSION_DEFAULT, flags,
EXTRABLOCK_DEFAULT)
.
connInfo
- a block of connection information to send in this commandflags
- a set of flags, like FLAG_EXPAND_DYNAMIC
, or
0
(for none)public GetFileReqRvCmd(int requestType, RvConnectionInfo connInfo)
new GetFileReqRvCmd(requestType, connInfo,
CHARSET_DEFAULT, CODE_DEFAULT, PROTOVERSION_DEFAULT, FLAG_EXPAND_DYNAMIC,
EXTRABLOCK_DEFAULT)
.
requestType
- a request type, like AbstractRequestRvCmd.REQTYPE_REDIRECT
connInfo
- a block of connection information to send in this commandpublic GetFileReqRvCmd(int requestType, RvConnectionInfo connInfo, java.lang.String charset, int code, int protoVersion, long flags, ByteBlock extraBlock)
requestType
) with the given properties.
requestType
- a request type, like AbstractRequestRvCmd.REQTYPE_INITIALREQUEST
connInfo
- a block of connection information to use for the
associated connectioncharset
- the name of a charset (this value appears to be ignored
by WinAIM); normally always CHARSET_DEFAULT
code
- some sort of "code" value; normally CODE_DEFAULT
protoVersion
- a "protocol version" value, like PROTOVERSION_DEFAULT
flags
- a set of bit flags to send in this request, like FLAG_EXPAND_DYNAMIC
or 0
(for none)extraBlock
- an "extra" block of data; normally EXTRABLOCK_DEFAULT
Method Detail |
public final RvConnectionInfo getConnInfo()
public final java.lang.String getCharset()
CHARSET_DEFAULT
("us-ascii"
). See above for details.
null
if
none was sentpublic final int getCode()
public final int getProtoVersion()
public final long getFlags()
FLAG_EXPAND_DYNAMIC
. For
those unfamiliar with bitwise flags, one could test for a particular flag
with code such as the following:
if ((getFileReq.getFlags() & GetFileReqRvCmd.FLAG_EXPAND_DYNAMIC) != 0) { System.out.println("Client supports dynamic file listing!"); }
public final ByteBlock getExtraBlock()
protected void writeRvTlvs(java.io.OutputStream out) throws java.io.IOException
AbstractRvCmd
writeRvTlvs
in class AbstractRvCmd
out
- the stream to which to write
java.io.IOException
- if an I/O error occursprotected boolean hasServiceData()
AbstractRvCmd
false
for an object, writeServiceData
will
never be called on that object. The default implementation of this method
returns true
.
hasServiceData
in class AbstractRvCmd
AbstractRvCmd.writeServiceData(java.io.OutputStream)
protected void writeServiceData(java.io.OutputStream out) throws java.io.IOException
AbstractRvCmd
AbstractRvCmd.hasServiceData()
returns false
. The default
implementation of this method does not write any data to the stream.
writeServiceData
in class AbstractRvCmd
out
- the stream to which to write
java.io.IOException
- if an I/O error occurspublic java.lang.String toString()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |