/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"

interface nsIXTFElement;

[scriptable, uuid(27c10dca-2efc-416b-ae36-9794380a661e)]
interface nsIXTFElementFactory : nsISupports
{
  nsIXTFElement createElement(in AString tagName);
};

%{C++
    
#define NS_XTF_ELEMENT_FACTORY_CONTRACTID         "@mozilla.org/xtf/element-factory;1"
#define NS_XTF_ELEMENT_FACTORY_CONTRACTID_PREFIX  NS_XTF_ELEMENT_FACTORY_CONTRACTID "?namespace="

%}
