dcop
dcopstub.h
Go to the documentation of this file. 00001 /*
00002 Copyright (c) 1999 Preston Brown <pbrown@kde.org>
00003 Copyright (c) 1999 Matthias Ettrich <ettrich@kde.org>
00004
00005 Permission is hereby granted, free of charge, to any person obtaining a copy
00006 of this software and associated documentation files (the "Software"), to deal
00007 in the Software without restriction, including without limitation the rights
00008 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
00009 copies of the Software, and to permit persons to whom the Software is
00010 furnished to do so, subject to the following conditions:
00011
00012 The above copyright notice and this permission notice shall be included in
00013 all copies or substantial portions of the Software.
00014
00015 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
00016 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
00017 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
00018 X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
00019 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
00020 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00021 */
00022
00023 #ifndef _DCOPSTUB_H
00024 #define _DCOPSTUB_H
00025
00026 class DCOPClient;
00027 class DCOPRef;
00028 class DCOPStubPrivate;
00029
00030 #include <stdlib.h>
00031
00032 #include <qstring.h>
00033 #include "kdelibs_export.h"
00034
00041 class DCOP_EXPORT DCOPStub
00042 {
00043 public:
00049 DCOPStub( const QCString& app, const QCString& obj );
00050
00058 DCOPStub( DCOPClient* client, const QCString& app, const QCString& obj );
00059
00064 explicit DCOPStub( const DCOPRef& ref );
00065 virtual ~DCOPStub();
00066
00071 QCString app() const;
00076 QCString obj() const;
00077
00078 enum Status{ CallSucceeded, CallFailed };
00086 Status status() const;
00087
00088
00095 bool ok() const;
00096
00097 protected:
00098
00104 void setStatus( Status _status );
00105
00110 virtual void callFailed();
00111
00117 DCOPClient* dcopClient();
00118
00127 enum never_use_t { never_use };
00132 DCOPStub( never_use_t ) { abort(); }
00133
00134 private:
00135 QCString m_app;
00136 QCString m_obj;
00137 Status m_status;
00138
00139 protected:
00140 virtual void virtual_hook( int id, void* data );
00141 private:
00142 DCOPStubPrivate *d;
00143 };
00144
00145 #endif