File: AppCore.h

package info (click to toggle)
mediainfo 25.10-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 13,656 kB
  • sloc: cpp: 18,871; objc: 3,102; xml: 1,426; sh: 1,328; python: 263; makefile: 212
file content (99 lines) | stat: -rw-r--r-- 3,176 bytes parent folder | download | duplicates (4)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
/*  Copyright (c) MediaArea.net SARL. All Rights Reserved.
*
*  Use of this source code is governed by a BSD-style license that can
*  be found in the License.html file in the root of the source tree.
*/

#pragma once

//---------------------------------------------------------------------------
#include "MediaInfo/MediaInfo.h"
#include "ZenLib/ZtringListList.h"
#include "ZenLib/Ztring.h"

//---------------------------------------------------------------------------
namespace MediaInfo
{
//---------------------------------------------------------------------------
    ref class AppCore;

//---------------------------------------------------------------------------
    delegate void ViewChangedEventHandler(Platform::String^ New);

//---------------------------------------------------------------------------
    public ref class View sealed
    {
    public:
        View(Platform::String^ Name, Platform::String^ Desc, Platform::String^ Mime, bool Current, bool Exportable) : _Name(Name), _Desc(Desc), _Mime(Mime), _Current(Current), _Exportable(Exportable) {};

        property Platform::String^ Name
        {
            Platform::String^ get() { return _Name; }
        };

        property Platform::String^ Desc
        {
            Platform::String^ get() { return _Desc; }
        };

        property Platform::String^ Mime
        {
            Platform::String^ get() { return _Mime; }
        };

        property bool Current
        {
            bool get() { return _Current; }
            void set(bool Value) { _Current=Value; }
        };

        property bool Exportable
        {
            bool get() { return _Exportable; }
        };

    private:
        Platform::String^ _Name;
        Platform::String^ _Desc;
        Platform::String^ _Mime;
        bool _Current;
        bool _Exportable;
    };

//---------------------------------------------------------------------------
    ref class AppCore sealed
    {
    public:
        static property Platform::String^ AppVersion
        {
            Platform::String^ get();
        };

        static property Platform::String^ Version
        {
            Platform::String^ get();
        }

        static property Windows::Foundation::Collections::IObservableVector<View^>^ ViewList
        {
            Windows::Foundation::Collections::IObservableVector<View^>^ get();
        }

        static property Platform::String^ View
        {
            Platform::String^ get();
            void set(Platform::String^ Value);
        }

        static event ViewChangedEventHandler^ ViewChangedEvent;

        static Platform::String^ Get_Mime(Platform::String^ Name);
        static Platform::String^ Get_Stream_Name(size_t StreamKind);
        static size_t Get_Stream_Id(Platform::String^ StreamKind);
        static Platform::String^ Create_Report(Platform::String^ Path);
        static void Add_Item_To_FutureAccessList(Windows::Storage::IStorageItem^ Item);

    private:
        static Windows::Foundation::Collections::IObservableVector<::MediaInfo::View^>^ _Views;
    };
}