aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples/d/hello_lib/native_greeter.d
diff options
context:
space:
mode:
authorGravatar David Chen <dzc@google.com>2015-09-07 21:49:56 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-09-08 09:08:50 +0000
commit87419786a7f80c72f5c89c76d33e807d6166a07b (patch)
treedce310e876fc54eef557dee02697bbe9a8b00f9a /examples/d/hello_lib/native_greeter.d
parent56c7d552545bde9d471154ad9844db9801907a33 (diff)
Add initial D rules to Bazel.
-- MOS_MIGRATED_REVID=102513092
Diffstat (limited to 'examples/d/hello_lib/native_greeter.d')
-rw-r--r--examples/d/hello_lib/native_greeter.d43
1 files changed, 43 insertions, 0 deletions
diff --git a/examples/d/hello_lib/native_greeter.d b/examples/d/hello_lib/native_greeter.d
new file mode 100644
index 0000000000..417492aaf6
--- /dev/null
+++ b/examples/d/hello_lib/native_greeter.d
@@ -0,0 +1,43 @@
+// Copyright 2015 Google Inc. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+module native_greeter;
+
+extern (C):
+
+struct NativeGreeter {
+ char* greeting;
+};
+
+/// Creates a new NativeGreeter.
+///
+/// Params:
+/// greeting = The greeting to use.
+///
+/// Returns:
+/// A pointer to a new NativeGreeting struct.
+NativeGreeter* native_greeter_new(const(char)* greeting);
+
+/// Prints a greeting to stdout.
+///
+/// Params:
+/// greeter = The pointer to the NativeGreeter object to use.
+/// thing = The thing to greet.
+void native_greeter_greet(const(NativeGreeter)* greeter, const(char)* thing);
+
+/// Frees the NativeGreeter.
+///
+/// Params:
+/// greeter = The pointer to the NativeGreeter object to use.
+void native_greeter_free(NativeGreeter* greeter);