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 kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 13:30:50 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001