~mixxxdevelopers/mixxx/trunk

« back to all changes in this revision

Viewing changes to mixxx/src/controllers/qtscript-bytearray/bytearrayclass.h

Merging features_controllerAbstraction. Migration of mappings from .mixxx/midi/ to controllers/ only works on a version upgrade (end-users.)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 /****************************************************************************
 
2
 **
 
3
 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
 
4
 ** All rights reserved.
 
5
 ** Contact: Nokia Corporation (qt-info@nokia.com)
 
6
 **
 
7
 ** This file is part of the examples of the Qt Toolkit.
 
8
 **
 
9
 ** $QT_BEGIN_LICENSE:BSD$
 
10
 ** You may use this file under the terms of the BSD license as follows:
 
11
 **
 
12
 ** "Redistribution and use in source and binary forms, with or without
 
13
 ** modification, are permitted provided that the following conditions are
 
14
 ** met:
 
15
 **   * Redistributions of source code must retain the above copyright
 
16
 **     notice, this list of conditions and the following disclaimer.
 
17
 **   * Redistributions in binary form must reproduce the above copyright
 
18
 **     notice, this list of conditions and the following disclaimer in
 
19
 **     the documentation and/or other materials provided with the
 
20
 **     distribution.
 
21
 **   * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
 
22
 **     the names of its contributors may be used to endorse or promote
 
23
 **     products derived from this software without specific prior written
 
24
 **     permission.
 
25
 **
 
26
 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 
27
 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 
28
 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 
29
 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 
30
 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 
31
 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 
32
 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 
33
 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 
34
 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
35
 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 
36
 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
 
37
 ** $QT_END_LICENSE$
 
38
 **
 
39
 ****************************************************************************/
 
40
 
 
41
 #ifndef BYTEARRAYCLASS_H
 
42
 #define BYTEARRAYCLASS_H
 
43
 
 
44
 #include <QtCore/QObject>
 
45
 #include <QtScript/QScriptClass>
 
46
 #include <QtScript/QScriptString>
 
47
 
 
48
 class ByteArrayClass : public QObject, public QScriptClass
 
49
 {
 
50
 public:
 
51
     ByteArrayClass(QScriptEngine *engine);
 
52
     ~ByteArrayClass();
 
53
 
 
54
     QScriptValue constructor();
 
55
 
 
56
     QScriptValue newInstance(int size = 0);
 
57
     QScriptValue newInstance(const QByteArray &ba);
 
58
 
 
59
     QueryFlags queryProperty(const QScriptValue &object,
 
60
                              const QScriptString &name,
 
61
                              QueryFlags flags, uint *id);
 
62
 
 
63
     QScriptValue property(const QScriptValue &object,
 
64
                           const QScriptString &name, uint id);
 
65
 
 
66
     void setProperty(QScriptValue &object, const QScriptString &name,
 
67
                      uint id, const QScriptValue &value);
 
68
 
 
69
     QScriptValue::PropertyFlags propertyFlags(
 
70
         const QScriptValue &object, const QScriptString &name, uint id);
 
71
 
 
72
     QScriptClassPropertyIterator *newIterator(const QScriptValue &object);
 
73
 
 
74
     QString name() const;
 
75
 
 
76
     QScriptValue prototype() const;
 
77
 
 
78
 private:
 
79
     static QScriptValue construct(QScriptContext *ctx, QScriptEngine *eng);
 
80
 
 
81
     static QScriptValue toScriptValue(QScriptEngine *eng, const QByteArray &ba);
 
82
     static void fromScriptValue(const QScriptValue &obj, QByteArray &ba);
 
83
 
 
84
     void resize(QByteArray &ba, int newSize);
 
85
 
 
86
     QScriptString length;
 
87
     QScriptValue proto;
 
88
     QScriptValue ctor;
 
89
 };
 
90
 
 
91
 #endif
 
 
b'\\ No newline at end of file'