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

import com.scene7.is.ipp.messages.InMessage;
import com.scene7.is.ipp.messages.Ipp;
import com.scene7.is.ipp.messages.IppInt;
import com.scene7.is.ipp.messages.IppString;
import com.scene7.is.ipp.messages.Offset;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.io.Writer;

public class ResMonProcessConfig
extends InMessage {
    static int MessageNumber = 5243651;
    private String description_;
    private String[] profiles_;
    private String[] arguments_;
    private int startPriority_;
    private int startDelay_;
    private int stopTimeout_;

    public ResMonProcessConfig(int tag, String description, String[] profiles, String[] arguments, int startPriority, int startDelay, int stopTimeout, int headClientId) {
        int i;
        this.tag_ = tag;
        this.headerClientId_ = headClientId;
        this.description_ = description;
        this.profiles_ = profiles;
        this.arguments_ = arguments;
        this.startPriority_ = startPriority;
        this.startDelay_ = startDelay;
        this.stopTimeout_ = stopTimeout;
        int fixedLength = 40;
        Offset varPos = new Offset(fixedLength);
        try {
            varPos.val += description.getBytes("UTF-8").length + 1;
        }
        catch (UnsupportedEncodingException e) {
            throw new AssertionError(e);
        }
        if (profiles != null) {
            varPos.val = varPos.val + 3 & -4;
            varPos.val += profiles.length * 4;
            for (i = 0; i < profiles.length; ++i) {
                try {
                    varPos.val += profiles[i].getBytes("UTF-8").length + 1;
                    continue;
                }
                catch (UnsupportedEncodingException e) {
                    throw new AssertionError(e);
                }
            }
        }
        if (arguments != null) {
            varPos.val = varPos.val + 3 & -4;
            varPos.val += arguments.length * 4;
            for (i = 0; i < arguments.length; ++i) {
                try {
                    varPos.val += arguments[i].getBytes("UTF-8").length + 1;
                    continue;
                }
                catch (UnsupportedEncodingException e) {
                    throw new AssertionError(e);
                }
            }
        }
        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_);
        IppString.Stuff(this.bodyBuffer_, pos, varPos, this.description_);
        IppString.StuffArray(this.bodyBuffer_, pos, varPos, this.profiles_);
        IppString.StuffArray(this.bodyBuffer_, pos, varPos, this.arguments_);
        IppInt.Stuff(this.bodyBuffer_, pos, null, this.startPriority_);
        IppInt.Stuff(this.bodyBuffer_, pos, null, this.startDelay_);
        IppInt.Stuff(this.bodyBuffer_, pos, null, this.stopTimeout_);
        Ipp.Assert(pos.val == fixedLength, "IppWatermarkType length");
    }

    public ResMonProcessConfig() {
    }

    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.description_ = IppString.Unstuff(this.bodyBuffer_, pos);
        this.profiles_ = IppString.UnstuffArray(this.bodyBuffer_, pos);
        this.arguments_ = IppString.UnstuffArray(this.bodyBuffer_, pos);
        this.startPriority_ = IppInt.Unstuff(this.bodyBuffer_, pos);
        this.startDelay_ = IppInt.Unstuff(this.bodyBuffer_, pos);
        this.stopTimeout_ = 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(": ResMonProcessConfig ");
        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");
        IppString.Print(tf, "description: ", this.description_);
        IppString.PrintArray(tf, "profiles: ", this.profiles_);
        IppString.PrintArray(tf, "arguments: ", this.arguments_);
        IppInt.Print(tf, "startPriority: ", this.startPriority_);
        IppInt.Print(tf, "startDelay: ", this.startDelay_);
        IppInt.Print(tf, "stopTimeout: ", this.stopTimeout_);
    }

    public String toString() {
        StringBuffer buffer = new StringBuffer();
        buffer.append("ResMonProcessConfig           ");
        buffer.append("[description: " + String.valueOf(this.description_) + "],");
        buffer.append("[profiles: " + String.valueOf(this.profiles_) + "],");
        buffer.append("[arguments: " + String.valueOf(this.arguments_) + "],");
        buffer.append("[startPriority: " + String.valueOf(this.startPriority_) + "],");
        buffer.append("[startDelay: " + String.valueOf(this.startDelay_) + "],");
        buffer.append("[stopTimeout: " + String.valueOf(this.stopTimeout_) + "],");
        return buffer.toString();
    }

    public String description() {
        return this.description_;
    }

    public String[] profiles() {
        return this.profiles_;
    }

    public String[] arguments() {
        return this.arguments_;
    }

    public int startPriority() {
        return this.startPriority_;
    }

    public int startDelay() {
        return this.startDelay_;
    }

    public int stopTimeout() {
        return this.stopTimeout_;
    }
}