chxavplaylist.h

来自「symbian 下的helix player源代码」· C头文件 代码 · 共 88 行

H
88
字号
/************************************************************************
 * chxavplaylist.h
 * ---------------
 *
 * Synopsis:
 *
 * Target:
 * Symbian OS
 *
 *
 * (c) 1995-2003 RealNetworks, Inc. Patents pending. All rights reserved.
 *
 ************************************************************************/

#ifndef _chxavplaylist_h_
#define _chxavplaylist_h_

// Helix includes...
#include "ihxpckts.h"
#include "hxstring.h"

// Include from this project...
#include "chxbody.h"
#include "chxavurlrep.h"
#include "chxsmartptr.h"
#include "chxmakesmartptr.h"
#include "chxavvector.h"

class CHXAvPlaylistItr;

class CHXAvPlaylist : public CHXBody 
{
    friend class CHXAvPlaylistItr;

public:
    CHXAvPlaylist();
    virtual ~CHXAvPlaylist();
    void Append(const CHXAvURLRep& url);
    void Append(const CHXAvPlaylist& pl);
    void Remove(const CHXAvURLRep& url);
    void Shuffle();
    int Length() const;

private:
    CHXAvURLRep m_default;
    CHXAvVector<CHXAvURLRep> m_urls;
};

MakeSmartPtr(CHXAvPlaylist);

class CHXAvPlaylistItr : public CHXBody {
    friend class CHXAvPlaylist;

 public:
    CHXAvPlaylistItr(const CHXAvPlaylist& pl);
    ~CHXAvPlaylistItr();
    const CHXAvURLRep& Current() const;

    void Loop(bool on);
    bool Loop() const;

    int Offset() const;

    void Next();
    void Prev();    
    bool More() const;
    
    void ResetBegin();
    void ResetEnd();

    bool operator==(const CHXAvPlaylistItr& pl) const;
    bool operator!=(const CHXAvPlaylistItr& pl) const;
    bool operator<=(const CHXAvPlaylistItr& pl) const;
    bool operator>=(const CHXAvPlaylistItr& pl) const;

private:
    CHXAvPlaylistItr(const CHXAvPlaylist& pl, int current);

    const CHXAvPlaylist& m_list;
    int m_current;
    bool m_loop;
    bool m_end;
};

MakeSmartPtr(CHXAvPlaylistItr);

#endif // _chxavplaylist_h_

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?