Explicitly add python-numpy dependency to install-build-deps.
[chromium-blink-merge.git] / mojo / public / dart / src / types.dart
blob658e477bedfe4f2cacc8ce5d740b0db03107e317
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
6 part of core;
9 class MojoResult {
10   static const int kOk = 0;
11   static const int kCancelled = -1;
12   static const int kUnknown = -2;
13   static const int kInvalidArgument = -3;
14   static const int kDeadlineExceeded = -4;
15   static const int kNotFound = -5;
16   static const int kAlreadyExists = -6;
17   static const int kPermissionDenied = -7;
18   static const int kResourceExhausted = -8;
19   static const int kFailedPrecondition = -9;
20   static const int kAborted = -10;
21   static const int kOutOfRange = -11;
22   static const int kUnimplemented = -12;
23   static const int kInternal = -13;
24   static const int kUnavailable = -14;
25   static const int kDataLoss = -15;
26   static const int kBusy = -16;
27   static const int kShouldWait = -17;
29   static const OK = const MojoResult._(kOk);
30   static const CANCELLED = const MojoResult._(kCancelled);
31   static const UNKNOWN = const MojoResult._(kUnknown);
32   static const INVALID_ARGUMENT = const MojoResult._(kInvalidArgument);
33   static const DEADLINE_EXCEEDED = const MojoResult._(kDeadlineExceeded);
34   static const NOT_FOUND = const MojoResult._(kNotFound);
35   static const ALREADY_EXISTS = const MojoResult._(kAlreadyExists);
36   static const PERMISSION_DENIED = const MojoResult._(kPermissionDenied);
37   static const RESOURCE_EXHAUSTED = const MojoResult._(kResourceExhausted);
38   static const FAILED_PRECONDITION = const MojoResult._(kFailedPrecondition);
39   static const ABORTED = const MojoResult._(kAborted);
40   static const OUT_OF_RANGE = const MojoResult._(kOutOfRange);
41   static const UNIMPLEMENTED = const MojoResult._(kUnimplemented);
42   static const INTERNAL = const MojoResult._(kInternal);
43   static const UNAVAILABLE = const MojoResult._(kUnavailable);
44   static const DATA_LOSS = const MojoResult._(kDataLoss);
45   static const BUSY = const MojoResult._(kBusy);
46   static const SHOULD_WAIT = const MojoResult._(kShouldWait);
48   final int value;
50   const MojoResult._(this.value);
52   factory MojoResult(int value) {
53     switch (value) {
54       case kOk: return OK;
55       case kCancelled: return CANCELLED;
56       case kUnknown: return UNKNOWN;
57       case kInvalidArgument: return INVALID_ARGUMENT;
58       case kDeadlineExceeded: return DEADLINE_EXCEEDED;
59       case kNotFound: return NOT_FOUND;
60       case kAlreadyExists: return ALREADY_EXISTS;
61       case kPermissionDenied: return PERMISSION_DENIED;
62       case kResourceExhausted: return RESOURCE_EXHAUSTED;
63       case kFailedPrecondition: return FAILED_PRECONDITION;
64       case kAborted: return ABORTED;
65       case kOutOfRange: return OUT_OF_RANGE;
66       case kUnimplemented: return UNIMPLEMENTED;
67       case kInternal: return INTERNAL;
68       case kUnavailable: return UNAVAILABLE;
69       case kDataLoss: return DATA_LOSS;
70       case kBusy: return BUSY;
71       case kShouldWait: return SHOULD_WAIT;
72       default: return null;
73     }
74   }
76   bool get isOk => (this == OK);
77   bool get isCancelled => (this == CANCELLED);
78   bool get isUnknown => (this == UNKNOWN);
79   bool get isInvalidArgument => (this == INVALID_ARGUMENT);
80   bool get isDeadlineExceeded => (this == DEADLINE_EXCEEDED);
81   bool get isNotFound => (this == NOT_FOUND);
82   bool get isAlreadExists => (this == ALREADY_EXISTS);
83   bool get isPermissionDenied => (this == PERMISSION_DENIED);
84   bool get isResourceExhausted => (this == RESOURCE_EXHAUSTED);
85   bool get isFailedPrecondition => (this == FAILED_PRECONDITION);
86   bool get isAborted => (this == ABORTED);
87   bool get isOutOfRange => (this == OUT_OF_RANGE);
88   bool get isUnimplemented => (this == UNIMPLEMENTED);
89   bool get isInternal => (this == INTERNAL);
90   bool get isUnavailable => (this == UNAVAILABLE);
91   bool get isDataLoss => (this == DATA_LOSS);
92   bool get isBusy => (this == BUSY);
93   bool get isShouldWait => (this == SHOULD_WAIT);
97 class MojoHandleSignals {
98   static const int NONE = 0;
99   static const int READABLE = 1 << 0;
100   static const int WRITABLE = 1 << 1;
101   static const int READWRITE = READABLE | WRITABLE;
103   static bool isReadable(int mask) => (mask & READABLE) == READABLE;
104   static bool isWritable(int mask) => (mask & WRITABLE) == WRITABLE;
105   static bool isReadWrite(int mask) => (mask & READWRITE) == READWRITE;
106   static int toggleWrite(int mask) =>
107     isWritable(mask) ? (mask & ~WRITABLE) : (mask | WRITABLE);
111 class MojoHandleSignalsState {
112   const MojoHandleSignalsState(this.satisfied_signals,
113                                this.satisfiable_signals);
114   final int satisfied_signals;
115   final int satisfiable_signals;