/*
 * BEGIN FLOCK GPL
 *
 * Copyright Flock Inc. 2005-2009
 * http://flock.com
 *
 * This file may be used under the terms of the
 * GNU General Public License Version 2 or later (the "GPL"),
 * http://www.gnu.org/licenses/gpl.html
 *
 * Software distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 * for the specific language governing rights and limitations under the
 * License.
 *
 * END FLOCK GPL
 */

#include "nsISupports.idl"

[scriptable, uuid(5115ef2d-28a3-488c-8c9c-0b4544907fe3)]
interface flockIShelfService: nsISupports
{
    boolean isEmpty();

    string insert(in AString aTitle, in AString aContent, in AString aUrl, in AString aType, in long aPosition, in AString aParentId);
    string createFolder(in AString aName);
    long moveTo(in AString aId, in AString aFolderId);
    long getPositionOf(in AString aId);
    void remove(in AString aId);

    void changeAttribute(in AString anId, in AString aAttribute, in AString aValue);
    AString getTargetOf(in AString anId, in AString aTarget);

    // Delete all elements in the Shelf. Be careful when using this function!
    void clear();
};


