mirror of
https://github.com/dart-lang/sdk
synced 2024-10-06 12:22:09 +00:00
51651ee00b
dart_api.h - Has the core API functions dart_mirrors_api.h - Has API functions to support Mirrors or reflection dart_native_api.h - Has parts which support the native message handling, profilling and other internal tools R=sgjesse@google.com, vsm@google.com Review URL: https://codereview.chromium.org//16973003 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24062 260f80e4-7a28-3924-810f-c04153c831b5
42 lines
1.1 KiB
C++
42 lines
1.1 KiB
C++
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
#ifndef VM_NATIVE_MESSAGE_HANDLER_H_
|
|
#define VM_NATIVE_MESSAGE_HANDLER_H_
|
|
|
|
#include "include/dart_api.h"
|
|
#include "include/dart_native_api.h"
|
|
#include "vm/message_handler.h"
|
|
|
|
namespace dart {
|
|
|
|
// A NativeMessageHandler accepts messages and dispatches them to
|
|
// native C handlers.
|
|
class NativeMessageHandler : public MessageHandler {
|
|
public:
|
|
NativeMessageHandler(const char* name, Dart_NativeMessageHandler func);
|
|
~NativeMessageHandler();
|
|
|
|
const char* name() const { return name_; }
|
|
Dart_NativeMessageHandler func() const { return func_; }
|
|
|
|
bool HandleMessage(Message* message);
|
|
|
|
#if defined(DEBUG)
|
|
// Check that it is safe to access this handler.
|
|
void CheckAccess();
|
|
#endif
|
|
|
|
// Delete this handlers when its last live port is closed.
|
|
virtual bool OwnedByPortMap() const { return true; }
|
|
|
|
private:
|
|
char* name_;
|
|
Dart_NativeMessageHandler func_;
|
|
};
|
|
|
|
} // namespace dart
|
|
|
|
#endif // VM_NATIVE_MESSAGE_HANDLER_H_
|