ReqFileUploadOpen.java 3.99 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.scene7.is.ipp.messages;

import com.scene7.is.ipp.messages.Ipp;
import com.scene7.is.ipp.messages.IppChecksumType;
import com.scene7.is.ipp.messages.IppImageAnchor;
import com.scene7.is.ipp.messages.IppInt;
import com.scene7.is.ipp.messages.Offset;
import com.scene7.is.ipp.messages.OutMessage;
import java.io.IOException;
import java.io.Writer;

public class ReqFileUploadOpen
extends OutMessage {
    static int MessageNumber = 66064;
    private int transactionId_;
    private IppImageAnchor fileName_;
    private int fileSize_;
    private int checksumType_;

    public ReqFileUploadOpen(int tag, int transactionId, IppImageAnchor fileName, int fileSize, int checksumType, int headClientId) {
        this.tag_ = tag;
        this.headerClientId_ = headClientId;
        this.transactionId_ = transactionId;
        this.fileName_ = fileName;
        this.fileSize_ = fileSize;
        this.checksumType_ = checksumType;
        int fixedLength = 60;
        Offset varPos = new Offset(fixedLength);
        fileName.adjustVarPos(varPos);
        this.messageLength_ = varPos.val;
        varPos.val = fixedLength;
        Offset pos = new Offset(0);
        this.headBuffer_ = new byte[32];
        this.bodyBuffer_ = new byte[this.messageLength_];
        Ipp.StuffHeader(this.headBuffer_, this.headerClientId_, tag, MessageNumber, this.messageLength_);
        IppInt.Stuff(this.bodyBuffer_, pos, null, this.transactionId_);
        IppImageAnchor.Stuff(this.bodyBuffer_, pos, varPos, this.fileName_);
        IppInt.Stuff(this.bodyBuffer_, pos, null, this.fileSize_);
        IppInt.Stuff(this.bodyBuffer_, pos, null, this.checksumType_);
        Ipp.Assert(pos.val == fixedLength, "IppWatermarkType length");
    }

    public ReqFileUploadOpen() {
    }

    public void process(int headClientId, int tg, byte[] bf) {
        this.headerClientId_ = headClientId;
        this.tag_ = tg;
        this.messageLength_ = bf.length;
        this.headBuffer_ = new byte[32];
        Ipp.StuffHeader(this.headBuffer_, this.headerClientId_, this.tag_, MessageNumber, this.messageLength_);
        this.bodyBuffer_ = bf;
        Offset pos = new Offset(0);
        this.transactionId_ = IppInt.Unstuff(this.bodyBuffer_, pos);
        this.fileName_ = IppImageAnchor.Unstuff(this.bodyBuffer_, pos);
        this.fileSize_ = IppInt.Unstuff(this.bodyBuffer_, pos);
        this.checksumType_ = IppInt.Unstuff(this.bodyBuffer_, pos);
    }

    public int classification() {
        return 1;
    }

    public int id() {
        return MessageNumber;
    }

    public void print(Writer tf, String heading) throws IOException {
        tf.write("\n");
        tf.write(heading);
        tf.write(": ReqFileUploadOpen ");
        Ipp.PrintHex(tf, MessageNumber);
        tf.write("\n");
        tf.write("headClientId: " + this.headerClientId() + "\n");
        Ipp.PrintTag(tf, "tag: ", this.tag());
        tf.write("length: " + this.length());
        tf.write("\n");
        IppInt.Print(tf, "transactionId: ", this.transactionId_);
        IppImageAnchor.Print(tf, "fileName: ", this.fileName_);
        IppInt.Print(tf, "fileSize: ", this.fileSize_);
        IppChecksumType.Print(tf, "checksumType: ", this.checksumType_);
    }

    public String toString() {
        StringBuffer buffer = new StringBuffer();
        buffer.append("ReqFileUploadOpen             ");
        buffer.append("[transactionId: " + String.valueOf(this.transactionId_) + "],");
        buffer.append("[fileName: " + String.valueOf(this.fileName_) + "],");
        buffer.append("[fileSize: " + String.valueOf(this.fileSize_) + "],");
        buffer.append("[checksumType: " + String.valueOf(this.checksumType_) + "],");
        return buffer.toString();
    }

    public int transactionId() {
        return this.transactionId_;
    }

    public IppImageAnchor fileName() {
        return this.fileName_;
    }

    public int fileSize() {
        return this.fileSize_;
    }

    public int checksumType() {
        return this.checksumType_;
    }
}