/** @file GalioConfigurationItem.h
 *
 * Copyright (C) Espial Limited 2014 - Company confidential - All rights reserved.
 *
 */

#ifndef GalioConfigurationItem_h
#define GalioConfigurationItem_h

#if ENABLE(RMAI)

#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/text/AtomicString.h>

#include "ExceptionCode.h"

namespace WebCore {

class GalioConfigurationItem : public RefCounted<GalioConfigurationItem> {
public:
    enum {
        BOOLEAN = 3,
        SIGNED_DECIMAL = 4,
        UNSIGNED_DECIMAL = 5,
        HEX = 6,
        STRING = 7,
        CHARACTER = 8,
        HEX_LIST = 9,
        UNSIGNED_DECIMAL_LIST = 10,
        SIGNED_DECIMAL_LIST = 11,
        LAYERS_STRING = 13,
        STRING_LIST = 12,
    };

    static PassRefPtr<GalioConfigurationItem> create(const String& name);

    int type(ExceptionCode& ec) const;
    int length() const;
    String value() const;

    int item( int index );

protected:
    GalioConfigurationItem(const String& name);

private:
    String m_name;
};

} // namespace WebCore

#endif // ENABLE(RMAI)

#endif // GalioConfigurationItem_h
