author | zecke <zecke> | 2004-07-17 16:46:58 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-07-17 16:46:58 (UTC) |
commit | e917f3763a0beb6d540adbfa5f59e478d3baec64 (patch) (side-by-side diff) | |
tree | c2cf3f13559d9693a4f66cd3f65e419b571377bd | |
parent | d6a4bf47ef7dfaabd08fb8d514cde1832a055816 (diff) | |
download | opie-e917f3763a0beb6d540adbfa5f59e478d3baec64.zip opie-e917f3763a0beb6d540adbfa5f59e478d3baec64.tar.gz opie-e917f3763a0beb6d540adbfa5f59e478d3baec64.tar.bz2 |
Addjust to the namespace changes of OMAF
20 files changed, 75 insertions, 51 deletions
diff --git a/noncore/securityplugins/blueping/bluepingplugin.cpp b/noncore/securityplugins/blueping/bluepingplugin.cpp index af0448b..f4c5e95 100644 --- a/noncore/securityplugins/blueping/bluepingplugin.cpp +++ b/noncore/securityplugins/blueping/bluepingplugin.cpp @@ -11,8 +11,11 @@ #include <qpushbutton.h> #include <qtimer.h> using namespace Opie::Core; +using Opie::Security::MultiauthPluginObject; +using Opie::Security::MultiauthConfigWidget; + /// creates and initializes the m_config Config object BluepingPlugin::BluepingPlugin() : MultiauthPluginObject(), m_ping(0) { m_config = new Config("Security"); diff --git a/noncore/securityplugins/blueping/bluepingplugin.h b/noncore/securityplugins/blueping/bluepingplugin.h index c122471..0df3f78 100644 --- a/noncore/securityplugins/blueping/bluepingplugin.h +++ b/noncore/securityplugins/blueping/bluepingplugin.h @@ -45,17 +45,17 @@ /// Multi-authentication bluetooth plugin, which tries to ping a specific MAC address. /** * The plugin itself, implementing the main authenticate() function. */ -class BluepingPlugin : public QObject, public MultiauthPluginObject { +class BluepingPlugin : public QObject, public Opie::Security::MultiauthPluginObject { Q_OBJECT public: BluepingPlugin(); virtual ~BluepingPlugin(); int authenticate(); - MultiauthConfigWidget * configWidget(QWidget * parent); + Opie::Security::MultiauthConfigWidget * configWidget(QWidget * parent); QString pixmapNameConfig() const; QString pixmapNameWidget() const; QString pluginName() const; diff --git a/noncore/securityplugins/blueping/bluepingpluginimpl.cpp b/noncore/securityplugins/blueping/bluepingpluginimpl.cpp index f7b1bfc..dbca91f 100644 --- a/noncore/securityplugins/blueping/bluepingpluginimpl.cpp +++ b/noncore/securityplugins/blueping/bluepingpluginimpl.cpp @@ -1,6 +1,9 @@ #include "bluepingpluginimpl.h" +using Opie::Security::MultiauthPluginInterface; +using Opie::Security::MultiauthPluginObject; + BluepingPluginImpl::BluepingPluginImpl() { bluepingPlugin = new BluepingPlugin(); } diff --git a/noncore/securityplugins/blueping/bluepingpluginimpl.h b/noncore/securityplugins/blueping/bluepingpluginimpl.h index 2fd023a..4663602 100644 --- a/noncore/securityplugins/blueping/bluepingpluginimpl.h +++ b/noncore/securityplugins/blueping/bluepingpluginimpl.h @@ -36,9 +36,9 @@ #include "bluepingplugin.h" /// Standard multiauth plugin class -class BluepingPluginImpl : public MultiauthPluginInterface{ +class BluepingPluginImpl : public Opie::Security::MultiauthPluginInterface{ public: BluepingPluginImpl(); virtual ~BluepingPluginImpl(); @@ -46,13 +46,12 @@ class BluepingPluginImpl : public MultiauthPluginInterface{ QRESULT queryInterface( const QUuid &, QUnknownInterface** ); /// defines standard addRef() and release() functions Q_REFCOUNT; - virtual MultiauthPluginObject *plugin(); + virtual Opie::Security::MultiauthPluginObject *plugin(); private: /// the plugin itself BluepingPlugin *bluepingPlugin; - ulong ref; }; #endif diff --git a/noncore/securityplugins/dummy/dummyplugin.cpp b/noncore/securityplugins/dummy/dummyplugin.cpp index 0d19e43..594825e 100644 --- a/noncore/securityplugins/dummy/dummyplugin.cpp +++ b/noncore/securityplugins/dummy/dummyplugin.cpp @@ -6,8 +6,11 @@ #include <qlayout.h> #include <qlabel.h> #include <qpushbutton.h> +using Opie::Security::MultiauthConfigWidget; +using Opie::Security::MultiauthPluginObject; + /// Simply return its name (Dummy plugin) QString DummyPlugin::pluginName() const { return "Dummy plugin"; } @@ -53,18 +56,18 @@ int DummyPlugin::authenticate() { Qt::WStyle_NoBorder | Qt::WStyle_Customize | Qt::WStyle_StaysOnTop); QRect desk = oApp->desktop()->geometry(); dummyDialog.setGeometry( 0, 0, desk.width(), desk.height() ); - + /* Creation of the particular widgets of our Dummy user interface * Note: we have to resize the VBox to the QDialog size, since it's not * done automatically. */ QVBoxLayout layout(&dummyDialog); layout.setSpacing(11); layout.setMargin(11); layout.setAlignment( Qt::AlignTop ); - + QLabel title("<center><h1>" + tr("\"Dummy\" <br />demonstration plugin") + "</h1></center>", &dummyDialog); QLabel subTitle("<center><h2>" +tr("You can simulate the following outcomes:") + "</h2></center>", &dummyDialog); layout.addWidget(&title); layout.addWidget(&subTitle); @@ -75,16 +78,16 @@ int DummyPlugin::authenticate() { QPushButton pbFailure("Failure", &dummyDialog); hl.addWidget(&pbSuccess, 0, Qt::AlignHCenter); hl.addWidget(&pbSkip, 0, Qt::AlignHCenter); hl.addWidget(&pbFailure, 0, Qt::AlignHCenter); - + /* Linking our pushbuttons to exit functions * (each result button here has a corresponding slot) */ QObject::connect(&pbSuccess, SIGNAL(clicked()), this, SLOT(success())); QObject::connect(&pbFailure, SIGNAL(clicked()), this, SLOT(failure())); QObject::connect(&pbSkip, SIGNAL(clicked()), this, SLOT(skip())); - + /* The value of the signal these three slots will emit corresponds to * the different values we want to return */ QObject::connect(this, SIGNAL(emitCode(int)), &dummyDialog, SLOT(done(int))); diff --git a/noncore/securityplugins/dummy/dummyplugin.h b/noncore/securityplugins/dummy/dummyplugin.h index 9680dff..3bfca98 100644 --- a/noncore/securityplugins/dummy/dummyplugin.h +++ b/noncore/securityplugins/dummy/dummyplugin.h @@ -41,15 +41,15 @@ /// Multi-authentication example plugin, implementing a trivial 'yes/no' verification. /** * The plugin itself, implementing the main authenticate() function. */ -class DummyPlugin : public QObject, public MultiauthPluginObject { +class DummyPlugin : public QObject, public Opie::Security::MultiauthPluginObject { Q_OBJECT public: int authenticate(); - MultiauthConfigWidget * configWidget(QWidget * parent); + Opie::Security::MultiauthConfigWidget * configWidget(QWidget * parent); QString pixmapNameConfig() const; QString pixmapNameWidget() const; QString pluginName() const; diff --git a/noncore/securityplugins/dummy/dummypluginimpl.cpp b/noncore/securityplugins/dummy/dummypluginimpl.cpp index 518996c..54dbdd1 100644 --- a/noncore/securityplugins/dummy/dummypluginimpl.cpp +++ b/noncore/securityplugins/dummy/dummypluginimpl.cpp @@ -1,6 +1,9 @@ #include "dummypluginimpl.h" +using Opie::Security::MultiauthPluginInterface; +using Opie::Security::MultiauthPluginObject; + DummyPluginImpl::DummyPluginImpl() { dummyPlugin = new DummyPlugin(); } diff --git a/noncore/securityplugins/dummy/dummypluginimpl.h b/noncore/securityplugins/dummy/dummypluginimpl.h index 49a18cd..ce8620d 100644 --- a/noncore/securityplugins/dummy/dummypluginimpl.h +++ b/noncore/securityplugins/dummy/dummypluginimpl.h @@ -36,9 +36,9 @@ #include "dummyplugin.h" /// Standard multiauth plugin class -class DummyPluginImpl : public MultiauthPluginInterface{ +class DummyPluginImpl : public Opie::Security::MultiauthPluginInterface{ public: DummyPluginImpl(); virtual ~DummyPluginImpl(); @@ -46,13 +46,12 @@ class DummyPluginImpl : public MultiauthPluginInterface{ QRESULT queryInterface( const QUuid &, QUnknownInterface** ); /// defines standard addRef() and release() functions Q_REFCOUNT; - virtual MultiauthPluginObject *plugin(); + virtual Opie::Security::MultiauthPluginObject *plugin(); private: /// the plugin itself DummyPlugin *dummyPlugin; - ulong ref; }; #endif diff --git a/noncore/securityplugins/notice/noticeConfigWidget.cpp b/noncore/securityplugins/notice/noticeConfigWidget.cpp index e2c2d83..e532232 100644 --- a/noncore/securityplugins/notice/noticeConfigWidget.cpp +++ b/noncore/securityplugins/notice/noticeConfigWidget.cpp @@ -7,8 +7,10 @@ #include <qlabel.h> #include <qregexp.h> #include <qgroupbox.h> +using Opie::Security::MultiauthConfigWidget; + /// constructs the widget, filling the noticeMLE QMultiLineEdit with the "noticeText" entry NoticeConfigWidget::NoticeConfigWidget(QWidget* parent = 0, const char* name = "Notice configuration widget") : MultiauthConfigWidget(parent, name) { QVBoxLayout *baseLayout = new QVBoxLayout( this); @@ -45,9 +47,9 @@ NoticeConfigWidget::~NoticeConfigWidget() /// write the notice text in the multiauth.conf Config file void NoticeConfigWidget::writeConfig() { - if ( noticeMLE->edited() ) { + if ( noticeMLE->edited() ) { odebug << "writing new notice text in Security.conf" << oendl; setNoticeText(noticeMLE->text()); } } diff --git a/noncore/securityplugins/notice/noticeConfigWidget.h b/noncore/securityplugins/notice/noticeConfigWidget.h index 69f15bf..c90484c 100644 --- a/noncore/securityplugins/notice/noticeConfigWidget.h +++ b/noncore/securityplugins/notice/noticeConfigWidget.h @@ -6,26 +6,26 @@ /* =. This file is part of the Opie Project .=l. Copyright (C) 2004 Opie Developer Team <opie-devel@handhelds.org> .>+-= - _;:, .> :=|. This library is free software; you can + _;:, .> :=|. This library is free software; you can .> <`_, > . <= redistribute it and/or modify it under :`=1 )Y*s>-.-- : the terms of the GNU Library General Public .="- .-=="i, .._ License as published by the Free Software - . .-<_> .<> Foundation; either version 2 of the License, ._= =} : or (at your option) any later version. - .%`+i> _;_. - .i_,=:_. -<s. This library is distributed in the hope that + .%`+i> _;_. + .i_,=:_. -<s. This library is distributed in the hope that + . -:. = it will be useful, but WITHOUT ANY WARRANTY; : .. .:, . . . without even the implied warranty of =_ + =;=|` MERCHANTABILITY or FITNESS FOR A _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU ..}^=.= = ; Library General Public License for more ++= -. .` .: details. - : = ...= . :.=- + : = ...= . :.=- -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with - -- :-=` this library; see the file COPYING.LIB. + -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -47,10 +47,10 @@ static char defaultNoticeText [] = "<h2>NOTICE TO USERS</h2>\n" "<p><strong>Unauthorized or improper use of this system may result in " "disciplinary action and civil and criminal penalties. <em>By continuing to use " "this system you indicate your awareness of and consent to these " "terms. LOG OFF IMMEDIATELY if you do not agree to them.</em></strong></p>"; - -class NoticeConfigWidget : public MultiauthConfigWidget { + +class NoticeConfigWidget : public Opie::Security::MultiauthConfigWidget { Q_OBJECT public: @@ -68,4 +68,5 @@ private: void setNoticeText(QString noticeText); }; #endif // NOTICECONFIGWIDGET_H + diff --git a/noncore/securityplugins/notice/noticeplugin.cpp b/noncore/securityplugins/notice/noticeplugin.cpp index bacc439..25a452a 100644 --- a/noncore/securityplugins/notice/noticeplugin.cpp +++ b/noncore/securityplugins/notice/noticeplugin.cpp @@ -4,8 +4,10 @@ #include <qmessagebox.h> #include <qregexp.h> +using Opie::Security::MultiauthPluginObject; +using Opie::Security::MultiauthConfigWidget; /// creates and initializes the m_config Config object NoticePlugin::NoticePlugin() : MultiauthPluginObject(), noticeW(0) { m_config = new Config("Security"); @@ -60,12 +62,12 @@ int NoticePlugin::authenticate() { true, Qt::WStyle_NoBorder | Qt::WStyle_Customize | Qt::WStyle_StaysOnTop); noticeDialog.setButtonText(QMessageBox::Yes, tr("I accept")); - + QRect desk = oApp->desktop()->geometry(); noticeDialog.setGeometry( 0, 0, desk.width(), desk.height() ); - + switch (noticeDialog.exec()) { case QMessageBox::Yes: return MultiauthPluginObject::Success; diff --git a/noncore/securityplugins/notice/noticeplugin.h b/noncore/securityplugins/notice/noticeplugin.h index 842d47b..4aa6f02 100644 --- a/noncore/securityplugins/notice/noticeplugin.h +++ b/noncore/securityplugins/notice/noticeplugin.h @@ -42,17 +42,17 @@ /// Multi-authentication plugin, having the user accept a (legal, etc.) notice text. /** * The plugin itself, implementing the main authenticate() function. */ -class NoticePlugin : public QObject, public MultiauthPluginObject { +class NoticePlugin : public QObject, public Opie::Security::MultiauthPluginObject { Q_OBJECT; public: NoticePlugin(); virtual ~NoticePlugin(); int authenticate(); - MultiauthConfigWidget * configWidget(QWidget * parent); + Opie::Security::MultiauthConfigWidget * configWidget(QWidget * parent); QString pixmapNameConfig() const; QString pixmapNameWidget() const; QString pluginName() const; private: diff --git a/noncore/securityplugins/notice/noticepluginimpl.cpp b/noncore/securityplugins/notice/noticepluginimpl.cpp index 34e3cfc..7524512 100644 --- a/noncore/securityplugins/notice/noticepluginimpl.cpp +++ b/noncore/securityplugins/notice/noticepluginimpl.cpp @@ -1,6 +1,9 @@ #include "noticepluginimpl.h" +using Opie::Security::MultiauthPluginObject; +using Opie::Security::MultiauthPluginInterface; + NoticePluginImpl::NoticePluginImpl() { noticePlugin = new NoticePlugin(); } diff --git a/noncore/securityplugins/notice/noticepluginimpl.h b/noncore/securityplugins/notice/noticepluginimpl.h index b2a1140..1b1e22f 100644 --- a/noncore/securityplugins/notice/noticepluginimpl.h +++ b/noncore/securityplugins/notice/noticepluginimpl.h @@ -38,9 +38,9 @@ /** * \brief Standard multiauth plugin class */ -class NoticePluginImpl : public MultiauthPluginInterface{ +class NoticePluginImpl : public Opie::Security::MultiauthPluginInterface{ public: NoticePluginImpl(); virtual ~NoticePluginImpl(); @@ -48,14 +48,13 @@ class NoticePluginImpl : public MultiauthPluginInterface{ QRESULT queryInterface( const QUuid &, QUnknownInterface** ); /// defines standard addRef() and release() functions Q_REFCOUNT; - virtual MultiauthPluginObject *plugin(); + virtual Opie::Security::MultiauthPluginObject *plugin(); private: /// the plugin itself NoticePlugin *noticePlugin; - ulong ref; }; #endif diff --git a/noncore/securityplugins/pin/pin.cpp b/noncore/securityplugins/pin/pin.cpp index 37dc5be..c21ffcd 100644 --- a/noncore/securityplugins/pin/pin.cpp +++ b/noncore/securityplugins/pin/pin.cpp @@ -40,10 +40,13 @@ #include <time.h> extern "C" char *crypt(const char *key, const char *salt); +using Opie::Security::MultiauthConfigWidget; +using Opie::Security::MultiauthPluginObject; + /// set to TRUE when we press the 'Skip' button -bool isSkip = FALSE; +static bool isSkip = FALSE; /// PIN input graphical widget. /** * Inherits the PinDialogBase class defined originally in pinDialogBase.ui interface file. @@ -231,12 +234,12 @@ bool PinPlugin::verify(const QString& pin, const QString& hash) QString PinPlugin::getPIN( const QString& prompt ) { PinDlg pd(0,0,TRUE); pd.pinD->setPrompt( prompt ); - + pd.showMaximized(); int r = pd.exec(); - + if ( r == QDialog::Accepted ) { if (pd.pinD->text.isEmpty()) return ""; else @@ -301,15 +304,15 @@ int PinPlugin::authenticate() // prompt for the PIN in a fullscreen modal dialog PinDlg pd(0,0,TRUE,TRUE); pd.reset(); pd.exec(); - + // analyse the result if (isSkip == TRUE) return MultiauthPluginObject::Skip; else if (verify(pd.pinD->text, hashedPin)) return MultiauthPluginObject::Success; - else + else return MultiauthPluginObject::Failure; } owarn << "No PIN has been defined! We consider it as a successful authentication though." << oendl; return MultiauthPluginObject::Success; @@ -330,12 +333,12 @@ QString PinPlugin::pixmapNameConfig() const { /// returns a PinConfigWidget MultiauthConfigWidget * PinPlugin::configWidget(QWidget * parent) { PinConfigWidget * pinw = new PinConfigWidget(parent, "PIN configuration widget"); - + connect(pinw->changePIN, SIGNAL( clicked() ), this, SLOT( changePIN() )); connect(pinw->clearPIN, SIGNAL( clicked() ), this, SLOT( clearPIN() )); - + return pinw; } #include "pin.moc" diff --git a/noncore/securityplugins/pin/pin.h b/noncore/securityplugins/pin/pin.h index 6cd328a..1832210 100644 --- a/noncore/securityplugins/pin/pin.h +++ b/noncore/securityplugins/pin/pin.h @@ -42,15 +42,15 @@ /// Multi-authentication plugin, implementing a PIN verification. /** * The plugin itself, implementing the main authenticate() function. */ -class PinPlugin : public QObject, public MultiauthPluginObject { +class PinPlugin : public QObject, public Opie::Security::MultiauthPluginObject { Q_OBJECT public: int authenticate(); - MultiauthConfigWidget * configWidget(QWidget * parent); + Opie::Security::MultiauthConfigWidget * configWidget(QWidget * parent); QString pixmapNameConfig() const; QString pixmapNameWidget() const; QString pluginName() const; diff --git a/noncore/securityplugins/pin/pinConfigWidget.cpp b/noncore/securityplugins/pin/pinConfigWidget.cpp index 53e1a20..b34db8b 100644 --- a/noncore/securityplugins/pin/pinConfigWidget.cpp +++ b/noncore/securityplugins/pin/pinConfigWidget.cpp @@ -4,16 +4,18 @@ #include <qgroupbox.h> #include "pinConfigWidget.h" +using Opie::Security::MultiauthConfigWidget; + PinConfigWidget::PinConfigWidget(QWidget* parent = 0, const char* name = "PIN configuration widget") : MultiauthConfigWidget(parent, name) { QVBoxLayout * baseLayout = new QVBoxLayout( this); baseLayout->setSpacing(11); baseLayout->setMargin(11); baseLayout->setAlignment( Qt::AlignTop ); - + QGroupBox * configBox = new QGroupBox(0, Qt::Vertical, tr("Configure your PIN here"), this); baseLayout->addWidget(configBox); QVBoxLayout *boxLayout = new QVBoxLayout( configBox->layout() ); @@ -26,9 +28,9 @@ PinConfigWidget::PinConfigWidget(QWidget* parent = 0, const char* name = "PIN co clearPIN = new QPushButton( tr("Clear PIN"), configBox, "clearPIN" ); buttonLayout->addWidget(changePIN); buttonLayout->addWidget(clearPIN); boxLayout->addLayout(buttonLayout); - + } /// nothing to do PinConfigWidget::~PinConfigWidget() diff --git a/noncore/securityplugins/pin/pinConfigWidget.h b/noncore/securityplugins/pin/pinConfigWidget.h index 3242ad0..6d5edff 100644 --- a/noncore/securityplugins/pin/pinConfigWidget.h +++ b/noncore/securityplugins/pin/pinConfigWidget.h @@ -6,26 +6,26 @@ /* =. This file is part of the Opie Project .=l. Copyright (C) 2004 Opie Developer Team <opie-devel@handhelds.org> .>+-= - _;:, .> :=|. This library is free software; you can + _;:, .> :=|. This library is free software; you can .> <`_, > . <= redistribute it and/or modify it under :`=1 )Y*s>-.-- : the terms of the GNU Library General Public .="- .-=="i, .._ License as published by the Free Software - . .-<_> .<> Foundation; either version 2 of the License, ._= =} : or (at your option) any later version. - .%`+i> _;_. - .i_,=:_. -<s. This library is distributed in the hope that + .%`+i> _;_. + .i_,=:_. -<s. This library is distributed in the hope that + . -:. = it will be useful, but WITHOUT ANY WARRANTY; : .. .:, . . . without even the implied warranty of =_ + =;=|` MERCHANTABILITY or FITNESS FOR A _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU ..}^=.= = ; Library General Public License for more ++= -. .` .: details. - : = ...= . :.=- + : = ...= . :.=- -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with - -- :-=` this library; see the file COPYING.LIB. + -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. @@ -36,16 +36,16 @@ #include <qpushbutton.h> #include <opie2/multiauthconfigwidget.h> -class PinConfigWidget : public MultiauthConfigWidget { +class PinConfigWidget : public Opie::Security::MultiauthConfigWidget { public: PinConfigWidget(QWidget* parent, const char* name); virtual ~PinConfigWidget(); virtual void writeConfig(); ///\todo to protect? QPushButton *changePIN; - QPushButton *clearPIN; - + QPushButton *clearPIN; + }; #endif // PINCONFIGWIDGET_H diff --git a/noncore/securityplugins/pin/pinpluginimpl.cpp b/noncore/securityplugins/pin/pinpluginimpl.cpp index 1c32f81..6cd2467 100644 --- a/noncore/securityplugins/pin/pinpluginimpl.cpp +++ b/noncore/securityplugins/pin/pinpluginimpl.cpp @@ -1,6 +1,9 @@ #include "pinpluginimpl.h" +using Opie::Security::MultiauthPluginObject; +using Opie::Security::MultiauthPluginInterface; + PinPluginImpl::PinPluginImpl() { pinPlugin = new PinPlugin(); } diff --git a/noncore/securityplugins/pin/pinpluginimpl.h b/noncore/securityplugins/pin/pinpluginimpl.h index e604b64..cbb9ef0 100644 --- a/noncore/securityplugins/pin/pinpluginimpl.h +++ b/noncore/securityplugins/pin/pinpluginimpl.h @@ -36,9 +36,9 @@ #include "pin.h" /// Standard multiauth plugin class -class PinPluginImpl : public MultiauthPluginInterface{ +class PinPluginImpl : public Opie::Security::MultiauthPluginInterface{ public: PinPluginImpl(); virtual ~PinPluginImpl(); @@ -46,13 +46,12 @@ class PinPluginImpl : public MultiauthPluginInterface{ QRESULT queryInterface( const QUuid &, QUnknownInterface** ); // defines standard addRef() and release() functions Q_REFCOUNT; - virtual MultiauthPluginObject *plugin(); + virtual Opie::Security::MultiauthPluginObject *plugin(); private: /// the plugin itself PinPlugin *pinPlugin; - ulong ref; }; #endif |