summaryrefslogtreecommitdiffstats
path: root/Src/playlist/SPlaylistManager.h
blob: 4917deb5fdf4f2662b657f3cdfa86bf627a86ea5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#pragma once

#include <api/script/objcontroller.h>
#include <api/script/objects/rootobj.h>

class PlaylistManagerScriptController : public ScriptObjectControllerI
{
public:
    const wchar_t                    *getClassName();
    const wchar_t                    *getAncestorClassName();
    ScriptObjectController           *getAncestorController();
    int                               getNumFunctions();
    const function_descriptor_struct *getExportedFunctions();
    GUID                              getClassGuid();

    ScriptObject                     *instantiate();
    void                              destroy( ScriptObject *o );

    void                             *encapsulate( ScriptObject *o );
    void                              deencapsulate( void *o );

    int                               getInstantiable();
    int                               getReferenceable();

private:
    static function_descriptor_struct exportedFunction[];
};

class SPlaylistManager : public RootObjectInstance
{
public:
    SPlaylistManager();

    static scriptVar script_vcpu_OpenPlaylist( SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar filename );
    static scriptVar script_vcpu_SavePlaylist( SCRIPT_FUNCTION_PARAMS, ScriptObject *o, scriptVar filename, scriptVar playlist );

private:
};