00001 /***************************************************************************** 00002 * vlcpeer.h: scriptable peer descriptor 00003 ***************************************************************************** 00004 * Copyright (C) 2002-2005 the VideoLAN team 00005 * $Id: vlcpeer.h 11664 2005-07-09 06:17:09Z courmisch $ 00006 * 00007 * Authors: Samuel Hocevar <[email protected]> 00008 * 00009 * This program is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2 of the License, or 00012 * (at your option) any later version. 00013 * 00014 * This program is distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 * GNU General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License 00020 * along with this program; if not, write to the Free Software 00021 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. 00022 *****************************************************************************/ 00023 00024 #include "vlcintf.h" 00025 #include "support/classinfo.h" 00026 00027 class VlcPlugin; 00028 00029 class VlcPeer : public VlcIntf, public ClassInfo 00030 { 00031 public: 00032 NS_DECL_ISUPPORTS 00033 NS_DECL_VLCINTF 00034 00035 // These flags are used by the DOM and security systems to signal that 00036 // JavaScript callers are allowed to call this object's scriptable methods. 00037 NS_IMETHOD GetFlags(PRUint32 *aFlags) 00038 { 00039 *aFlags = nsIClassInfo::PLUGIN_OBJECT | nsIClassInfo::DOM_OBJECT; 00040 return NS_OK; 00041 } 00042 00043 NS_IMETHOD GetImplementationLanguage(PRUint32 *aImplementationLanguage) 00044 { 00045 *aImplementationLanguage = nsIProgrammingLanguage::CPLUSPLUS; 00046 return NS_OK; 00047 } 00048 00049 VlcPeer(); 00050 VlcPeer( VlcPlugin * ); 00051 virtual ~VlcPeer(); 00052 00053 void Disable(); 00054 00055 private: 00056 VlcPlugin * p_plugin; 00057 }; 00058