|
||||||||||
| 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 command
public 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_REDIRECTconnInfo - a block of connection information to send in this command
public 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_INITIALREQUESTconnInfo - 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_DEFAULTcode - some sort of "code" value; normally CODE_DEFAULTprotoVersion - a "protocol version" value, like PROTOVERSION_DEFAULTflags - 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 AbstractRvCmdout - the stream to which to write
java.io.IOException - if an I/O error occursprotected boolean hasServiceData()
AbstractRvCmdfalse for an object, writeServiceData will
never be called on that object. The default implementation of this method
returns true.
hasServiceData in class AbstractRvCmdAbstractRvCmd.writeServiceData(java.io.OutputStream)
protected void writeServiceData(java.io.OutputStream out)
throws java.io.IOException
AbstractRvCmdAbstractRvCmd.hasServiceData() returns false. The default
implementation of this method does not write any data to the stream.
writeServiceData in class AbstractRvCmdout - 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 | |||||||||