Skip to content

Commit

Permalink
Add services toplevel & README
Browse files Browse the repository at this point in the history
TBR=jam@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1876543002

Cr-Commit-Position: refs/heads/master@{#386284}
  • Loading branch information
ben authored and Commit bot committed Apr 9, 2016
1 parent 02cec33 commit ffa42c6
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions services/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Chrome Platform Services
====

### Overview

This directory contains Chrome Platform Services. If you think of Chrome as a
"portable OS," Chrome Platform Services can be thought of as that OS' "system
services".

Roughly each subdirectory here corresponds to a service that:

* is a client of `//services/shell` with its own unique Identity.
* could logically run a standalone process for security/performance isolation
benefits depending on the constraints of the host OS.

### Service Directory Structure

Individual services are structured like so:

//services/foo/ <-- Implementation code, may have subdirs.
/public/
/cpp/ <-- C++ client libraries (optional)
/interfaces/ <-- Mojom interfaces

### Dependencies

Code within `//services` may only depend on each other via each other's
`/public/` directories, i.e. implementation code cannot be shared directly.

Service code should also take care to tightly limit the dependencies on static
libraries from outside of `//services`. Dependencies to large platform
layers like `//content`, `//chrome` or `//third_party/WebKit` must be avoided.

### Physical Packaging

Note that while it may be possible to build a discrete physical package (DSO)
for each service, products consuming these services may package them
differently, e.g. by combining them into a single package.

0 comments on commit ffa42c6

Please sign in to comment.