Jiri Simsa | d7616c9 | 2015-03-24 23:44:30 -0700 | [diff] [blame] | 1 | // Copyright 2015 The Vanadium Authors. All rights reserved. |
| 2 | // Use of this source code is governed by a BSD-style |
| 3 | // license that can be found in the LICENSE file. |
| 4 | |
Cosmos Nicolaou | 6c6fa11 | 2014-08-19 13:22:33 -0700 | [diff] [blame] | 5 | // Package Profiles, and its children, provide implementations of the |
Suharsh Sivakumar | 8646ba6 | 2015-03-18 15:22:28 -0700 | [diff] [blame] | 6 | // v23.Profile function. These implementations should import all of the |
Cosmos Nicolaou | 6c6fa11 | 2014-08-19 13:22:33 -0700 | [diff] [blame] | 7 | // packages that they require to implement Profile-specific functionality. |
| 8 | // |
| 9 | // The taxonomy used to organise Profiles may be arbitrary and the directory |
| 10 | // structure used here is just one convention for how to do so. This directory |
| 11 | // structure reflects the generality of a Profile at any given depth in the |
| 12 | // hierarchy, with higher levels of the directory structure being more |
| 13 | // generic and lower levels more specific. |
| 14 | // |
Suharsh Sivakumar | 8646ba6 | 2015-03-18 15:22:28 -0700 | [diff] [blame] | 15 | // Profiles register themselves by calling v.io/v23/rt.RegisterProfile in their |
Cosmos Nicolaou | 6c6fa11 | 2014-08-19 13:22:33 -0700 | [diff] [blame] | 16 | // init function and are hence are chosen by importing them into an |
Cosmos Nicolaou | 454030b | 2014-12-04 20:39:40 -0800 | [diff] [blame] | 17 | // applications main package. It is an error to import more than one profile, |
| 18 | // and the registration mechanism will panic if this is attempted. |
Suharsh Sivakumar | 8646ba6 | 2015-03-18 15:22:28 -0700 | [diff] [blame] | 19 | // Commonly used functionality and pre-canned profiles are in profiles/internal. |
Cosmos Nicolaou | 6c6fa11 | 2014-08-19 13:22:33 -0700 | [diff] [blame] | 20 | // |
| 21 | // This top level directory contains a 'generic' Profile and utility routines |
Cosmos Nicolaou | 39e3ae5 | 2014-11-14 13:30:01 -0800 | [diff] [blame] | 22 | // used by other Profiles. It should be imported whenever possible and |
| 23 | // particularly by tests. |
Cosmos Nicolaou | 6c6fa11 | 2014-08-19 13:22:33 -0700 | [diff] [blame] | 24 | // |
Cosmos Nicolaou | 39e3ae5 | 2014-11-14 13:30:01 -0800 | [diff] [blame] | 25 | // The 'roaming' Profile adds operating system support for varied network |
Cosmos Nicolaou | 6c6fa11 | 2014-08-19 13:22:33 -0700 | [diff] [blame] | 26 | // configurations and in particular dhcp. It should be used by any application |
Cosmos Nicolaou | 39e3ae5 | 2014-11-14 13:30:01 -0800 | [diff] [blame] | 27 | // that may 'roam' or any may be behind a 1-1 NAT. The 'static' profile |
| 28 | // does not provide dhcp support, but is otherwise like the roaming profile. |
Cosmos Nicolaou | 6c6fa11 | 2014-08-19 13:22:33 -0700 | [diff] [blame] | 29 | // |
Cosmos Nicolaou | 6c6fa11 | 2014-08-19 13:22:33 -0700 | [diff] [blame] | 30 | package profiles |