xpcom/base/nsIProgrammingLanguage.idl
author Boris Zbarsky <bzbarsky@mit.edu>
Fri, 07 Sep 2012 10:51:35 -0400
changeset 104565 0f994df8c6c46cac66cf43fe727042488b546ee5
parent 103019 a16372ce30b5f6b747246b01fcd215a4bf3b6342
child 167937 58fe9dc85fa4c4eec3407b3a2c7b137a1f7c7ff4
permissions -rw-r--r--
Bug 780529. Make people poking XHR via random XPCOM interfaces actually work as long as they stick to GetInterface. r=peterv

/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
 *
 * 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"

%{C++
#ifdef XP_OS2 // OS2 has UNKNOWN problems :)
#undef UNKNOWN
#endif
%}

/**
 * Enumeration of Programming Languages
 */

[scriptable, uuid(ea604e90-40ba-11d5-90bb-0010a4e73d9a)]
interface nsIProgrammingLanguage : nsISupports
{
    /**
     * Identifiers for programming languages.
     */
    const uint32_t UNKNOWN     = 0;
    const uint32_t CPLUSPLUS   = 1;
    const uint32_t JAVASCRIPT  = 2;
    const uint32_t PYTHON      = 3;
    const uint32_t PERL        = 4;
    const uint32_t JAVA        = 5;
    const uint32_t ZX81_BASIC  = 6;  // it could happen :)
    const uint32_t JAVASCRIPT2 = 7;
    const uint32_t RUBY =        8;
    const uint32_t PHP =         9;
    const uint32_t TCL =         10;
    // This list can grow indefinitely. Just don't ever change an existing item.
    const uint32_t MAX         = 10; // keep this as the largest index.
    
};