interfaces Library API Documentation

player.h

00001 // Copyright (C) 2002 Neil Stevens <neil@qualityassistant.com> 00002 // 00003 // Permission is hereby granted, free of charge, to any person obtaining a copy 00004 // of this software and associated documentation files (the "Software"), to deal 00005 // in the Software without restriction, including without limitation the rights 00006 // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00007 // copies of the Software, and to permit persons to whom the Software is 00008 // furnished to do so, subject to the following conditions: 00009 // 00010 // The above copyright notice and this permission notice shall be included in 00011 // all copies or substantial portions of the Software. 00012 // 00013 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00014 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00015 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00016 // THE AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 00017 // AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 00018 // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00019 // 00020 // Except as contained in this notice, the name(s) of the author(s) shall not be 00021 // used in advertising or otherwise to promote the sale, use or other dealings 00022 // in this Software without prior written authorization from the author(s). 00023 00024 #ifndef KMEDIAPLAYERPLAYER_H 00025 #define KMEDIAPLAYERPLAYER_H 00026 00027 #include <kparts/part.h> 00028 #include <kmediaplayer/playerdcopobject.h> 00029 #include <kmediaplayer/view.h> 00030 00033 namespace KMediaPlayer 00034 { 00035 00046 class Player : public KParts::ReadOnlyPart, public PlayerDCOPObject 00047 { 00048 Q_OBJECT 00049 00050 public: 00054 Player(QObject *parent, const char *name); 00055 00059 Player(QWidget *parentWidget, const char *widgetName, QObject *parent, const char *name); 00060 00061 virtual ~Player(void); 00062 00066 virtual View *view(void) = 0; 00067 00068 public slots: 00070 virtual void pause(void) = 0; 00071 00073 virtual void play(void) = 0; 00074 00076 virtual void stop(void) = 0; 00077 00082 virtual void seek(unsigned long msec) = 0; 00083 public: 00085 virtual bool isSeekable(void) const = 0; 00086 00088 virtual unsigned long position(void) const = 0; 00089 00092 virtual bool hasLength(void) const = 0; 00093 00095 virtual unsigned long length(void) const = 0; 00096 00097 public slots: 00101 void setLooping(bool); 00102 public: 00104 bool isLooping(void) const; 00105 signals: 00107 void loopingChanged(bool); 00108 00109 public: 00111 enum State 00112 { 00114 Empty, 00116 Stop, 00118 Pause, 00120 Play 00121 }; 00123 int state(void) const; 00124 signals: 00126 void stateChanged(int); 00127 00128 protected slots: 00131 void setState(int); 00132 00133 private: 00134 bool currentLooping; 00135 State currentState; 00136 00137 struct Data; 00138 Data *d; 00139 }; 00140 00141 } 00142 00143 #endif
KDE Logo
This file is part of the documentation for interfaces Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sun Oct 10 18:55:49 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003