    001    /**
    002     * Copyright (C) 2010, Skype Limited
    003     *
    004     * All intellectual property rights, including but not limited to copyrights,
    005     * trademarks and patents, as well as know how and trade secrets contained in,
    006     * relating to, or arising from the internet telephony software of
    007     * Skype Limited (including its affiliates, "Skype"), including without
    008     * limitation this source code, Skype API and related material of such
    009     * software proprietary to Skype and/or its licensors ("IP Rights") are and
    010     * shall remain the exclusive property of Skype and/or its licensors.
    011     * The recipient hereby acknowledges and agrees that any unauthorized use of
    012     * the IP Rights is a violation of intellectual property laws.
    013     *
    014     * Skype reserves all rights and may take legal action against infringers of
    015     * IP Rights.
    016     *
    017     * The recipient agrees not to remove, obscure, make illegible or alter any
    018     * notices or indications of the IP Rights and/or Skype's rights and
    019     * ownership thereof.
    020     */
    021
    022    package com.skype.ipc;
    023
    024    import java.util.Collection;
    025    import java.util.Iterator;
    026
    027    //G propid modid oid*;
    028    //g (moid (oid (N tag | kind tag value)*)*)*
    029
    030    public class MultiGetPropertyRequest extends Request
    031    {
    032        public MultiGetPropertyRequest(int moduleId, Collection<Integer> objectId, Collection<Integer> propId)
    033        {
    034            super();
    035
    036            Iterator<Integer> propidi = propId.iterator();
    037            Iterator<Integer> oidi = objectId.iterator();
    038            tokens.write('G');
    039            while (true) {
    040                encodeVaruint(propidi.next());
    041                if (propidi.hasNext()) {
    042                    tokens.write(',');
    043                }
    044                else {
    045                    break;
    046                }
    047            }
    048            tokens.write(']');
    049            encodeVaruint(moduleId);
    050            while (true) {
    051                encodeVaruint(oidi.next());
    052                if (oidi.hasNext()) {
    053                    tokens.write(',');
    054                }
    055                else {
    056                    break;
    057                }
    058            }
    059            tokens.write(']');
    060            tokens.write(']');
    061        }
    062
    063    }