1package com.android.hotspot2.osu;
2
3import com.android.hotspot2.omadm.OMAException;
4import com.android.hotspot2.omadm.XMLNode;
5import com.android.hotspot2.osu.commands.OSUCommandData;
6
7import java.util.ArrayList;
8import java.util.Collection;
9import java.util.Collections;
10import java.util.List;
11
12public class PostDevDataResponse extends OSUResponse {
13    private final List<OSUCommand> mOSUCommands;
14
15    public PostDevDataResponse(XMLNode root) throws OMAException {
16        super(root, OSUMessageType.PostDevData);
17
18        if (getStatus() == OSUStatus.Error) {
19            mOSUCommands = null;
20            return;
21        }
22
23        mOSUCommands = new ArrayList<>();
24        for (XMLNode child : root.getChildren()) {
25            mOSUCommands.add(new OSUCommand(child));
26        }
27    }
28
29    public OSUCommandID getOSUCommand() {
30        return mOSUCommands.size() == 1 ? mOSUCommands.get(0).getOSUCommand() : null;
31    }
32
33    public ExecCommand getExecCommand() {
34        return mOSUCommands.size() == 1 ? mOSUCommands.get(0).getExecCommand() : null;
35    }
36
37    public OSUCommandData getCommandData() {
38        return mOSUCommands.size() == 1 ? mOSUCommands.get(0).getCommandData() : null;
39    }
40
41    public Collection<OSUCommand> getCommands() {
42        return Collections.unmodifiableCollection(mOSUCommands);
43    }
44
45    @Override
46    public String toString() {
47        return super.toString() + ", commands " + mOSUCommands;
48    }
49}
50