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.4.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Sun Feb 27 22:16:14 2005 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001