Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(145)

Side by Side Diff: mojo/shell/public/cpp/names.h

Issue 1743473002: Change Mojo URLs to structured names (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@18collapse
Patch Set: . Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « mojo/shell/public/cpp/lib/shell_connection.cc ('k') | mojo/shell/public/cpp/shell_client.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2016 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.
4
5 #ifndef MOJO_SHELL_PUBLIC_CPP_NAMES_H_
6 #define MOJO_SHELL_PUBLIC_CPP_NAMES_H_
7
8 #include <string>
9
10 namespace mojo {
11
12 // Mojo services and applications are identified by structured "names", of the
13 // form:
14 //
15 // type:path.
16 //
17 // The type field tells the shell how to load the application. Two types are
18 // currently recognized:
19 //
20 // mojo
21 // Represents an application packaged as a .mojo, launched from the
22 // NativeRunner launch path. .mojo files are assumed to live alongside the
23 // shell executable at a path matching <path>/<path>.mojo. .mojo applications
24 // have a MojoMain() entrypoint that receives a handle to a ShellClientRequest
25 // that must be bound to enable further communication with the shell.
26 //
27 // exe
28 // Represents a native executable on the host platform, expected to live
29 // alongside the shell executable. Executables launched via this mechanism are
30 // passed a handle to the shell on the command line and are expected to bind
31 // a ChildController via which they will receive a ShellClientRequest enabling
32 // further communication with the shell. The path component contains the
33 // executable name, minus any platform-specific extension.
34 //
35 // Other types may be supplied but are not recognized by any of the
36 // NativeRunners, and as such custom loaders must be specified for such names.
37 //
38 // Any name type may serve as an alias for any other name type. Aliasing is
39 // resolved implicitly by the Shell.
40
41 // Returns true if the name is a valid form, i.e. type:path. path cannot start
42 // with a "//" sequence. These are _not_ urls.
43 bool IsValidName(const std::string& name);
44
45 // Get the type component of the specified name.
46 std::string GetNameType(const std::string& name);
47
48 // Get the path component of the specified name.
49 std::string GetNamePath(const std::string& name);
50
51 } // namespace mojo
52
53 #endif // MOJO_SHELL_PUBLIC_CPP_NAMES_H_
OLDNEW
« no previous file with comments | « mojo/shell/public/cpp/lib/shell_connection.cc ('k') | mojo/shell/public/cpp/shell_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698