Added: websites/staging/celix/trunk/content/css/pygments.css
==============================================================================
--- websites/staging/celix/trunk/content/css/pygments.css (added)
+++ websites/staging/celix/trunk/content/css/pygments.css Tue Jul 29 17:51:21 
2014
@@ -0,0 +1,61 @@
+.codehilite .hll { background-color: #ffffcc }
+.codehilite .c { color: #60a0b0; font-style: italic } /* Comment */
+.codehilite .err { border: 1px solid #FF0000 } /* Error */
+.codehilite .k { color: #007020; font-weight: bold } /* Keyword */
+.codehilite .o { color: #666666 } /* Operator */
+.codehilite .cm { color: #60a0b0; font-style: italic } /* Comment.Multiline */
+.codehilite .cp { color: #007020 } /* Comment.Preproc */
+.codehilite .c1 { color: #60a0b0; font-style: italic } /* Comment.Single */
+.codehilite .cs { color: #60a0b0; background-color: #fff0f0 } /* 
Comment.Special */
+.codehilite .gd { color: #A00000 } /* Generic.Deleted */
+.codehilite .ge { font-style: italic } /* Generic.Emph */
+.codehilite .gr { color: #FF0000 } /* Generic.Error */
+.codehilite .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.codehilite .gi { color: #00A000 } /* Generic.Inserted */
+.codehilite .go { color: #808080 } /* Generic.Output */
+.codehilite .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
+.codehilite .gs { font-weight: bold } /* Generic.Strong */
+.codehilite .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.codehilite .gt { color: #0040D0 } /* Generic.Traceback */
+.codehilite .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
+.codehilite .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
+.codehilite .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
+.codehilite .kp { color: #007020 } /* Keyword.Pseudo */
+.codehilite .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
+.codehilite .kt { color: #902000 } /* Keyword.Type */
+.codehilite .m { color: #40a070 } /* Literal.Number */
+.codehilite .s { color: #4070a0 } /* Literal.String */
+.codehilite .na { color: #4070a0 } /* Name.Attribute */
+.codehilite .nb { color: #007020 } /* Name.Builtin */
+.codehilite .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
+.codehilite .no { color: #60add5 } /* Name.Constant */
+.codehilite .nd { color: #555555; font-weight: bold } /* Name.Decorator */
+.codehilite .ni { color: #d55537; font-weight: bold } /* Name.Entity */
+.codehilite .ne { color: #007020 } /* Name.Exception */
+.codehilite .nf { color: #06287e } /* Name.Function */
+.codehilite .nl { color: #002070; font-weight: bold } /* Name.Label */
+.codehilite .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
+.codehilite .nt { color: #062873; font-weight: bold } /* Name.Tag */
+.codehilite .nv { color: #bb60d5 } /* Name.Variable */
+.codehilite .ow { color: #007020; font-weight: bold } /* Operator.Word */
+.codehilite .w { color: #bbbbbb } /* Text.Whitespace */
+.codehilite .mf { color: #40a070 } /* Literal.Number.Float */
+.codehilite .mh { color: #40a070 } /* Literal.Number.Hex */
+.codehilite .mi { color: #40a070 } /* Literal.Number.Integer */
+.codehilite .mo { color: #40a070 } /* Literal.Number.Oct */
+.codehilite .sb { color: #4070a0 } /* Literal.String.Backtick */
+.codehilite .sc { color: #4070a0 } /* Literal.String.Char */
+.codehilite .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
+.codehilite .s2 { color: #4070a0 } /* Literal.String.Double */
+.codehilite .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape 
*/
+.codehilite .sh { color: #4070a0 } /* Literal.String.Heredoc */
+.codehilite .si { color: #70a0d0; font-style: italic } /* 
Literal.String.Interpol */
+.codehilite .sx { color: #c65d09 } /* Literal.String.Other */
+.codehilite .sr { color: #235388 } /* Literal.String.Regex */
+.codehilite .s1 { color: #4070a0 } /* Literal.String.Single */
+.codehilite .ss { color: #517918 } /* Literal.String.Symbol */
+.codehilite .bp { color: #007020 } /* Name.Builtin.Pseudo */
+.codehilite .vc { color: #bb60d5 } /* Name.Variable.Class */
+.codehilite .vg { color: #bb60d5 } /* Name.Variable.Global */
+.codehilite .vi { color: #bb60d5 } /* Name.Variable.Instance */
+.codehilite .il { color: #40a070 } /* Literal.Number.Integer.Long */

Added: websites/staging/celix/trunk/content/css/reset-fonts-grids.css
==============================================================================
--- websites/staging/celix/trunk/content/css/reset-fonts-grids.css (added)
+++ websites/staging/celix/trunk/content/css/reset-fonts-grids.css Tue Jul 29 
17:51:21 2014
@@ -0,0 +1,7 @@
+/*
+Copyright (c) 2010, Yahoo! Inc. All rights reserved.
+Code licensed under the BSD License:
+http://developer.yahoo.com/yui/license.html
+version: 2.8.1
+*/
+html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var,optgroup{font-style:inherit;font-weight:inherit;}del,ins{text-decoration:none;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:baseline;}sub{vertical-align:baseline;}legend{color:#000;}input,button,textarea,select,optgroup,option{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;}input,button,textarea,select{*font-size:100%;}body{font:13px/1.231
 
arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}select,input,button,textarea,button{font:99%
 
arial,helvetica,clean,sans-serif;}table{font-size:inherit;font:100%;}pre,code,kb
 
d,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}body{text-align:center;}#doc,#doc2,#doc3,#doc4,.yui-t1,.yui-t2,.yui-t3,.yui-t4,.yui-t5,.yui-t6,.yui-t7{margin:auto;text-align:left;width:57.69em;*width:56.25em;}#doc2{width:73.076em;*width:71.25em;}#doc3{margin:auto
 
10px;width:auto;}#doc4{width:74.923em;*width:73.05em;}.yui-b{position:relative;}.yui-b{_position:static;}#yui-main
 .yui-b{position:static;}#yui-main,.yui-g .yui-u .yui-g{width:100%;}.yui-t1 
#yui-main,.yui-t2 #yui-main,.yui-t3 
#yui-main{float:right;margin-left:-25em;}.yui-t4 #yui-main,.yui-t5 
#yui-main,.yui-t6 #yui-main{float:left;margin-right:-25em;}.yui-t1 
.yui-b{float:left;width:12.30769em;*width:12.00em;}.yui-t1 #yui-main 
.yui-b{margin-left:13.30769em;*margin-left:13.05em;}.yui-t2 
.yui-b{float:left;width:13.8461em;*width:13.50em;}.yui-t2 #yui-main 
.yui-b{margin-left:14.8461em;*margin-left:14.55em;}.yui-t3 
.yui-b{float:left;width:23.0769em;*width:22.50em;}.yui-t3 #yui-main 
.yui-b{margin-left:24.0769em;*m
 argin-left:23.62em;}.yui-t4 
.yui-b{float:right;width:13.8456em;*width:13.50em;}.yui-t4 #yui-main 
.yui-b{margin-right:14.8456em;*margin-right:14.55em;}.yui-t5 
.yui-b{float:right;width:18.4615em;*width:18.00em;}.yui-t5 #yui-main 
.yui-b{margin-right:19.4615em;*margin-right:19.125em;}.yui-t6 
.yui-b{float:right;width:23.0769em;*width:22.50em;}.yui-t6 #yui-main 
.yui-b{margin-right:24.0769em;*margin-right:23.62em;}.yui-t7 #yui-main 
.yui-b{display:block;margin:0 0 1em 0;}#yui-main 
.yui-b{float:none;width:auto;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb 
.yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb 
.yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd .yui-u{float:left;}.yui-g 
.yui-u,.yui-g .yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g 
.yui-ge,.yui-g .yui-gf,.yui-gc .yui-u,.yui-gd .yui-g,.yui-g .yui-gc 
.yui-u,.yui-ge .yui-u,.yui-ge .yui-g,.yui-gf .yui-g,.yui-gf 
.yui-u{float:right;}.yui-g div.first,.yui-gb div.first,.yui-gc 
div.first,.yui-gd div.first,.
 yui-ge div.first,.yui-gf div.first,.yui-g .yui-gc div.first,.yui-g .yui-ge 
div.first,.yui-gc div.first div.first{float:left;}.yui-g .yui-u,.yui-g 
.yui-g,.yui-g .yui-gb,.yui-g .yui-gc,.yui-g .yui-gd,.yui-g .yui-ge,.yui-g 
.yui-gf{width:49.1%;}.yui-gb .yui-u,.yui-g .yui-gb .yui-u,.yui-gb 
.yui-g,.yui-gb .yui-gb,.yui-gb .yui-gc,.yui-gb .yui-gd,.yui-gb .yui-ge,.yui-gb 
.yui-gf,.yui-gc .yui-u,.yui-gc .yui-g,.yui-gd 
.yui-u{width:32%;margin-left:1.99%;}.yui-gb 
.yui-u{*margin-left:1.9%;*width:31.9%;}.yui-gc div.first,.yui-gd 
.yui-u{width:66%;}.yui-gd div.first{width:32%;}.yui-ge div.first,.yui-gf 
.yui-u{width:74.2%;}.yui-ge .yui-u,.yui-gf div.first{width:24%;}.yui-g .yui-gb 
div.first,.yui-gb div.first,.yui-gc div.first,.yui-gd 
div.first{margin-left:0;}.yui-g .yui-g .yui-u,.yui-gb .yui-g .yui-u,.yui-gc 
.yui-g .yui-u,.yui-gd .yui-g .yui-u,.yui-ge .yui-g .yui-u,.yui-gf .yui-g 
.yui-u{width:49%;*width:48.1%;*margin-left:0;}.yui-g .yui-g 
.yui-u{width:48.1%;}.yui-g .yui-gb div.first,.yui-gb .yui-gb d
 iv.first{*margin-right:0;*width:32%;_width:31.7%;}.yui-g .yui-gc 
div.first,.yui-gd .yui-g{width:66%;}.yui-gb .yui-g 
div.first{*margin-right:4%;_margin-right:1.3%;}.yui-gb .yui-gc 
div.first,.yui-gb .yui-gd div.first{*margin-right:0;}.yui-gb .yui-gb 
.yui-u,.yui-gb .yui-gc .yui-u{*margin-left:1.8%;_margin-left:4%;}.yui-g .yui-gb 
.yui-u{_margin-left:1.0%;}.yui-gb .yui-gd 
.yui-u{*width:66%;_width:61.2%;}.yui-gb .yui-gd 
div.first{*width:31%;_width:29.5%;}.yui-g .yui-gc .yui-u,.yui-gb .yui-gc 
.yui-u{width:32%;_float:right;margin-right:0;_margin-left:0;}.yui-gb .yui-gc 
div.first{width:66%;*float:left;*margin-left:0;}.yui-gb .yui-ge .yui-u,.yui-gb 
.yui-gf .yui-u{margin:0;}.yui-gb .yui-gb .yui-u{_margin-left:.7%;}.yui-gb 
.yui-g div.first,.yui-gb .yui-gb div.first{*margin-left:0;}.yui-gc .yui-g 
.yui-u,.yui-gd .yui-g .yui-u{*width:48.1%;*margin-left:0;}.yui-gb .yui-gd 
div.first{width:32%;}.yui-g .yui-gd div.first{_width:29.9%;}.yui-ge 
.yui-g{width:24%;}.yui-gf .yui-g{width:74.2%;}.yui-gb .yui-g
 e div.yui-u,.yui-gb .yui-gf div.yui-u{float:right;}.yui-gb .yui-ge 
div.first,.yui-gb .yui-gf div.first{float:left;}.yui-gb .yui-ge .yui-u,.yui-gb 
.yui-gf div.first{*width:24%;_width:20%;}.yui-gb .yui-ge div.first,.yui-gb 
.yui-gf .yui-u{*width:73.5%;_width:65.5%;}.yui-ge div.first .yui-gd 
.yui-u{width:65%;}.yui-ge div.first .yui-gd 
div.first{width:32%;}#hd:after,#bd:after,#ft:after,.yui-g:after,.yui-gb:after,.yui-gc:after,.yui-gd:after,.yui-ge:after,.yui-gf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}#hd,#bd,#ft,.yui-g,.yui-gb,.yui-gc,.yui-gd,.yui-ge,.yui-gf{zoom:1;}
\ No newline at end of file

Added: websites/staging/celix/trunk/content/css/superfish.css
==============================================================================
--- websites/staging/celix/trunk/content/css/superfish.css (added)
+++ websites/staging/celix/trunk/content/css/superfish.css Tue Jul 29 17:51:21 
2014
@@ -0,0 +1,136 @@
+
+/*** ESSENTIAL STYLES ***/
+.sf-menu, .sf-menu * {
+       margin:                 0;
+       padding:                0;
+       list-style:             none;
+}
+.sf-menu {
+       line-height:    1.0;
+}
+.sf-menu ul {
+       position:               absolute;
+       top:                    -999em;
+       width:                  10em; /* left offset of submenus need to match 
(see below) */
+}
+.sf-menu ul li {
+       width:                  100%;
+}
+.sf-menu li:hover {
+       visibility:             inherit; /* fixes IE7 'sticky bug' */
+}
+.sf-menu li {
+       float:                  left;
+       position:               relative;
+}
+.sf-menu a {
+       display:                block;
+       position:               relative;
+}
+.sf-menu li:hover ul,
+.sf-menu li.sfHover ul {
+       left:                   0;
+       top:                    2.5em; /* match top ul list item height */
+       z-index:                99;
+}
+ul.sf-menu li:hover li ul,
+ul.sf-menu li.sfHover li ul {
+       top:                    -999em;
+}
+ul.sf-menu li li:hover ul,
+ul.sf-menu li li.sfHover ul {
+       left:                   10em; /* match ul width */
+       top:                    0;
+}
+ul.sf-menu li li:hover li ul,
+ul.sf-menu li li.sfHover li ul {
+       top:                    -999em;
+}
+ul.sf-menu li li li:hover ul,
+ul.sf-menu li li li.sfHover ul {
+       left:                   10em; /* match ul width */
+       top:                    0;
+}
+
+/*** DEMO SKIN ***/
+.sf-menu {
+       float:                  left;
+       margin-bottom:  1em;
+}
+.sf-menu a {
+       border-left:    1px solid #fff;
+       border-top:             1px solid #CFDEFF;
+       padding:                .75em 1em;
+       text-decoration:none;
+}
+.sf-menu a, .sf-menu a:visited  { /* visited pseudo selector so IE6 applies 
text colour*/
+       color:                  #13a;
+}
+.sf-menu li {
+       background:             #BDD2FF;
+}
+.sf-menu li li {
+       background:             #AABDE6;
+}
+.sf-menu li li li {
+       background:             #9AAEDB;
+}
+.sf-menu li:hover, .sf-menu li.sfHover,
+.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
+       background:             #CFDEFF;
+       outline:                0;
+}
+
+/*** arrows **/
+.sf-menu a.sf-with-ul {
+       padding-right:  2.25em;
+       min-width:              1px; /* trigger IE7 hasLayout so spans position 
accurately */
+}
+.sf-sub-indicator {
+       position:               absolute;
+       display:                block;
+       right:                  .75em;
+       top:                    1.05em; /* IE6 only */
+       width:                  10px;
+       height:                 10px;
+       text-indent:    -999em;
+       overflow:               hidden;
+       background:             url('../images/arrows-ffffff.png') no-repeat 
-10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
+}
+a > .sf-sub-indicator {  /* give all except IE6 the correct values */
+       top:                    .8em;
+       background-position: 0 -100px; /* use translucent arrow for modern 
browsers*/
+}
+/* apply hovers to modern browsers */
+a:focus > .sf-sub-indicator,
+a:hover > .sf-sub-indicator,
+a:active > .sf-sub-indicator,
+li:hover > a > .sf-sub-indicator,
+li.sfHover > a > .sf-sub-indicator {
+       background-position: -10px -100px; /* arrow hovers for modern browsers*/
+}
+
+/* point right for anchors in subs */
+.sf-menu ul .sf-sub-indicator { background-position:  -10px 0; }
+.sf-menu ul a > .sf-sub-indicator { background-position:  0 0; }
+/* apply hovers to modern browsers */
+.sf-menu ul a:focus > .sf-sub-indicator,
+.sf-menu ul a:hover > .sf-sub-indicator,
+.sf-menu ul a:active > .sf-sub-indicator,
+.sf-menu ul li:hover > a > .sf-sub-indicator,
+.sf-menu ul li.sfHover > a > .sf-sub-indicator {
+       background-position: -10px 0; /* arrow hovers for modern browsers*/
+}
+
+/*** shadows for all but IE6 ***/
+.sf-shadow ul {
+       background:     url('../images/shadow.png') no-repeat bottom right;
+       padding: 0 8px 9px 0;
+       -moz-border-radius-bottomleft: 17px;
+       -moz-border-radius-topright: 17px;
+       -webkit-border-top-right-radius: 17px;
+       -webkit-border-bottom-left-radius: 17px;
+}
+.sf-shadow ul.sf-shadow-off {
+       background: transparent;
+}

Added: websites/staging/celix/trunk/content/documentation.html
==============================================================================
--- websites/staging/celix/trunk/content/documentation.html (added)
+++ websites/staging/celix/trunk/content/documentation.html Tue Jul 29 17:51:21 
2014
@@ -0,0 +1,168 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You 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.
+-->
+
+    <link rel="stylesheet" type="text/css" 
+               href="/css/reset-fonts-grids.css">
+    <link rel="stylesheet" type="text/css" href="/css/base-min.css">
+    <link rel="stylesheet" type="text/css" href="/css/superfish.css" 
media="screen">
+    <!--  link rel="stylesheet" type="text/css" href="/css/BreadCrumb.css" 
media="screen"  -->
+    <link rel="stylesheet" type="text/css" href="/css/celix.css">
+    <link rel="stylesheet" type="text/css" href="/css/pygments.css">
+    
+  
+  <title>Apache Celix - Documentation</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  
+  <script type="text/javascript" src="/js/jquery.min.js"></script>
+  <script type="text/javascript" src="/js/jquery.gradient.js"></script>
+  <script type="text/javascript" src="/js/jquery.dimensions.js"></script>
+  <script type="text/javascript" src="/js/jquery.hoverIntent.js"></script>
+  <script type="text/javascript" src="/js/superfish.js"></script>
+  <script type="text/javascript" src="/js/supersubs.js"></script>
+  <!-- script type="text/javascript" src="/js/jquery.easing.1.3.js"></script>
+  <script type="text/javascript" 
src="/js/jquery.jBreadCrumb.1.1.js"></script-->
+  <script type="text/javascript"><!--
+        // initialize plugins
+        jQuery(function() {
+               jQuery('#navbar ul:first').addClass('sf-menu');
+            //Nav bar: Supersubs dropdown menus
+            jQuery('#navbar ul:first').supersubs({extraWidth: 
1}).superfish({animation:{opacity:0.97,height:'show'}});
+        });
+  
+        //jQuery(document).ready(function() {
+               //      jQuery("#breadCrumb").jBreadCrumb();
+               //  })
+    --></script>
+</head>
+
+<body>
+    <div id="page">
+        <div id="header">
+            <a href="/index.html"><img id="headerimage" 
src="/images/celix.png" alt="Apache Celix" 
+                    height="130px"></a>
+            <a href="http://incubator.apache.org/";>
+               <img id="incubatorimage" 
src="/celix/images/apache-incubator-logo.png" alt="Apache Incubator">
+               </a>
+            <div id="navbar"> 
+                <ul>
+<li><a href="/index.html">Home</a></li>
+<li><a href="/celix.html">About</a><ul>
+<li><a href="/celix.html">Celix</a></li>
+<li><a href="/background.html">Background</a></li>
+</ul>
+</li>
+<li><a href="/subprojects.html">Subprojects</a><ul>
+<li><a href="/subprojects/dependencymanager.html">Dependency Manager</a></li>
+<li><a href="/subprojects/deviceaccess.html">Device Access</a></li>
+<li><a href="/subprojects/examples.html">Examples</a></li>
+<li><a href="/subprojects/framework.html">Framework</a></li>
+<li><a href="/subprojects/hessian.html">Hessian</a></li>
+<li><a href="/subprojects/launcher.html">Launcher</a></li>
+<li><a href="/subprojects/logservice.html">Log Service</a></li>
+<li><a href="/subprojects/logwriter.html">Log Writer</a></li>
+<li><a href="/subprojects/remoteserviceadmin.html">Remote Service 
Admin</a></li>
+<li><a href="/subprojects/shell.html">Shell</a></li>
+<li><a href="/subprojects/shelltui.html">Shell TUI</a></li>
+<li><a href="/subprojects/utils.html">Utils</a></li>
+</ul>
+</li>
+<li><a href="/documentation.html">Documentation</a><ul>
+<li><a href="/documentation/buildingandrunning.html">Building and 
Running</a></li>
+<li><a href="/documentation/releasing.html">How To Release</a></li>
+<li><a href="/documentation/design.html">Design</a></li>
+<li><a href="/documentation/mapping.html">Mapping</a></li>
+<li><a href="/documentation/memorypools.html">Memory Pools</a></li>
+<li><a href="/documentation/examples.html">Examples</a><ul>
+<li><a href="/examples/helloworld.html">Hello World Example</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="/download.cgi">Download</a></li>
+<li><a href="/community/community.html">Community</a><ul>
+<li><a href="/community/contributing/contributing.html">Contributing</a></li>
+<li><a href="/community/boardreports/boardreports.html">Board Reports</a></li>
+</ul>
+</li>
+<li><a href="/support/support.html">Support</a><ul>
+<li><a href="/support/mailinglist.html">Mailing List</a></li>
+<li><a href="/support/issuetracking.html">Issue Tracking</a></li>
+</ul>
+</li>
+<li><a href="/asf/asf.html">ASF</a><ul>
+<li><a href="http://www.apache.org/";>ASF Home</a></li>
+<li><a href="http://www.apache.org/foundation/how-it-works.html";>How it 
Works</a></li>
+<li><a href="http://www.apache.org/licenses/";>License</a></li>
+<li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li>
+<li><a href="http://www.apache.org/security/";>Security</a></li>
+</ul>
+</li>
+</ul>
+            </div>
+                   <!-- div id="breadCrumbHolder" class="module">
+                       <div id="breadCrumb" class="breadCrumb module">
+                           <ul>
+                               
+                           </ul>
+                       </div>
+                   </div-->
+        </div>
+  
+        <div id="center">
+            <div id="main">
+                <div id="homecenter">
+                    <div id="homeleft">
+                        <h1 class="title">Documentation</h1>
+                        <p>Currently the documentation for Celix contains 
information about building and running Celix, as well as some examples.</p>
+<ul>
+<li><a href="/celix/documentation/buildingandrunning.html">Building and 
Running Celix</a></li>
+<li><a href="/celix/documentation/design.html">Design</a></li>
+<li><a href="/celix/documentation/mapping.html">Mapping</a></li>
+<li><a href="/celix/documentation/memorypools.html">Memory Pools</a></li>
+<li><a href="/celix/documentation/examples.html">Examples</a><ul>
+<li><a href="/celix/examples/helloworld.html">Hello World Example</a></li>
+</ul>
+</li>
+</ul>
+                    </div>
+                    <div id="homeright">
+                        
+                        
+                        
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+  
+    <div id="footer">
+        <div class="copyright">
+            <p>
+                Copyright &copy; 2011 The Apache Software Foundation, Licensed 
under 
+                the <a 
href="http://www.apache.org/licenses/LICENSE-2.0";>Apache License, Version 
2.0</a>.
+                <br>
+                Apache Celix, Celix, Apache, the Apache feather logo and the 
Apache Celix logo are trademarks of The Apache Software Foundation.
+            </p>
+        </div>
+    </div>
+</body>
+</html>

Added: 
websites/staging/celix/trunk/content/documentation/buildingandrunning-links.html
==============================================================================
--- 
websites/staging/celix/trunk/content/documentation/buildingandrunning-links.html
 (added)
+++ 
websites/staging/celix/trunk/content/documentation/buildingandrunning-links.html
 Tue Jul 29 17:51:21 2014
@@ -0,0 +1,170 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You 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.
+-->
+
+    <link rel="stylesheet" type="text/css" 
+               href="/css/reset-fonts-grids.css">
+    <link rel="stylesheet" type="text/css" href="/css/base-min.css">
+    <link rel="stylesheet" type="text/css" href="/css/superfish.css" 
media="screen">
+    <!--  link rel="stylesheet" type="text/css" href="/css/BreadCrumb.css" 
media="screen"  -->
+    <link rel="stylesheet" type="text/css" href="/css/celix.css">
+    <link rel="stylesheet" type="text/css" href="/css/pygments.css">
+    
+  
+  <title>Apache Celix - </title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  
+  <script type="text/javascript" src="/js/jquery.min.js"></script>
+  <script type="text/javascript" src="/js/jquery.gradient.js"></script>
+  <script type="text/javascript" src="/js/jquery.dimensions.js"></script>
+  <script type="text/javascript" src="/js/jquery.hoverIntent.js"></script>
+  <script type="text/javascript" src="/js/superfish.js"></script>
+  <script type="text/javascript" src="/js/supersubs.js"></script>
+  <!-- script type="text/javascript" src="/js/jquery.easing.1.3.js"></script>
+  <script type="text/javascript" 
src="/js/jquery.jBreadCrumb.1.1.js"></script-->
+  <script type="text/javascript"><!--
+        // initialize plugins
+        jQuery(function() {
+               jQuery('#navbar ul:first').addClass('sf-menu');
+            //Nav bar: Supersubs dropdown menus
+            jQuery('#navbar ul:first').supersubs({extraWidth: 
1}).superfish({animation:{opacity:0.97,height:'show'}});
+        });
+  
+        //jQuery(document).ready(function() {
+               //      jQuery("#breadCrumb").jBreadCrumb();
+               //  })
+    --></script>
+</head>
+
+<body>
+    <div id="page">
+        <div id="header">
+            <a href="/index.html"><img id="headerimage" 
src="/images/celix.png" alt="Apache Celix" 
+                    height="130px"></a>
+            <a href="http://incubator.apache.org/";>
+               <img id="incubatorimage" 
src="/celix/images/apache-incubator-logo.png" alt="Apache Incubator">
+               </a>
+            <div id="navbar"> 
+                <ul>
+<li><a href="/index.html">Home</a></li>
+<li><a href="/celix.html">About</a><ul>
+<li><a href="/celix.html">Celix</a></li>
+<li><a href="/background.html">Background</a></li>
+</ul>
+</li>
+<li><a href="/subprojects.html">Subprojects</a><ul>
+<li><a href="/subprojects/dependencymanager.html">Dependency Manager</a></li>
+<li><a href="/subprojects/deviceaccess.html">Device Access</a></li>
+<li><a href="/subprojects/examples.html">Examples</a></li>
+<li><a href="/subprojects/framework.html">Framework</a></li>
+<li><a href="/subprojects/hessian.html">Hessian</a></li>
+<li><a href="/subprojects/launcher.html">Launcher</a></li>
+<li><a href="/subprojects/logservice.html">Log Service</a></li>
+<li><a href="/subprojects/logwriter.html">Log Writer</a></li>
+<li><a href="/subprojects/remoteserviceadmin.html">Remote Service 
Admin</a></li>
+<li><a href="/subprojects/shell.html">Shell</a></li>
+<li><a href="/subprojects/shelltui.html">Shell TUI</a></li>
+<li><a href="/subprojects/utils.html">Utils</a></li>
+</ul>
+</li>
+<li><a href="/documentation.html">Documentation</a><ul>
+<li><a href="/documentation/buildingandrunning.html">Building and 
Running</a></li>
+<li><a href="/documentation/releasing.html">How To Release</a></li>
+<li><a href="/documentation/design.html">Design</a></li>
+<li><a href="/documentation/mapping.html">Mapping</a></li>
+<li><a href="/documentation/memorypools.html">Memory Pools</a></li>
+<li><a href="/documentation/examples.html">Examples</a><ul>
+<li><a href="/examples/helloworld.html">Hello World Example</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="/download.cgi">Download</a></li>
+<li><a href="/community/community.html">Community</a><ul>
+<li><a href="/community/contributing/contributing.html">Contributing</a></li>
+<li><a href="/community/boardreports/boardreports.html">Board Reports</a></li>
+</ul>
+</li>
+<li><a href="/support/support.html">Support</a><ul>
+<li><a href="/support/mailinglist.html">Mailing List</a></li>
+<li><a href="/support/issuetracking.html">Issue Tracking</a></li>
+</ul>
+</li>
+<li><a href="/asf/asf.html">ASF</a><ul>
+<li><a href="http://www.apache.org/";>ASF Home</a></li>
+<li><a href="http://www.apache.org/foundation/how-it-works.html";>How it 
Works</a></li>
+<li><a href="http://www.apache.org/licenses/";>License</a></li>
+<li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li>
+<li><a href="http://www.apache.org/security/";>Security</a></li>
+</ul>
+</li>
+</ul>
+            </div>
+                   <!-- div id="breadCrumbHolder" class="module">
+                       <div id="breadCrumb" class="breadCrumb module">
+                           <ul>
+                               
+                           </ul>
+                       </div>
+                   </div-->
+        </div>
+  
+        <div id="center">
+            <div id="main">
+                <div id="homecenter">
+                    <div id="homeleft">
+                        <h1 class="title"></h1>
+                        <h2 id="requirements">Requirements</h2>
+<ul>
+<li>CMake (2.8.4 and higher)</li>
+<li>GCC (4.2.1)</li>
+<li>GNU Make (3.81)</li>
+<li>ZLib</li>
+<li>CUnit</li>
+<li>Celix Source</li>
+</ul>
+<h2 id="useful-links">Useful Links</h2>
+<ul>
+<li><a href="http://www.cmake.org/cmake/help/documentation.html";>CMake 
Documentation</a></li>
+</ul>
+                    </div>
+                    <div id="homeright">
+                        
+                        
+                        
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+  
+    <div id="footer">
+        <div class="copyright">
+            <p>
+                Copyright &copy; 2011 The Apache Software Foundation, Licensed 
under 
+                the <a 
href="http://www.apache.org/licenses/LICENSE-2.0";>Apache License, Version 
2.0</a>.
+                <br>
+                Apache Celix, Celix, Apache, the Apache feather logo and the 
Apache Celix logo are trademarks of The Apache Software Foundation.
+            </p>
+        </div>
+    </div>
+</body>
+</html>

Added: 
websites/staging/celix/trunk/content/documentation/buildingandrunning.html
==============================================================================
--- websites/staging/celix/trunk/content/documentation/buildingandrunning.html 
(added)
+++ websites/staging/celix/trunk/content/documentation/buildingandrunning.html 
Tue Jul 29 17:51:21 2014
@@ -0,0 +1,301 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You 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.
+-->
+
+    <link rel="stylesheet" type="text/css" 
+               href="/css/reset-fonts-grids.css">
+    <link rel="stylesheet" type="text/css" href="/css/base-min.css">
+    <link rel="stylesheet" type="text/css" href="/css/superfish.css" 
media="screen">
+    <!--  link rel="stylesheet" type="text/css" href="/css/BreadCrumb.css" 
media="screen"  -->
+    <link rel="stylesheet" type="text/css" href="/css/celix.css">
+    <link rel="stylesheet" type="text/css" href="/css/pygments.css">
+    
+  
+  <title>Apache Celix - Building and Running</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  
+  <script type="text/javascript" src="/js/jquery.min.js"></script>
+  <script type="text/javascript" src="/js/jquery.gradient.js"></script>
+  <script type="text/javascript" src="/js/jquery.dimensions.js"></script>
+  <script type="text/javascript" src="/js/jquery.hoverIntent.js"></script>
+  <script type="text/javascript" src="/js/superfish.js"></script>
+  <script type="text/javascript" src="/js/supersubs.js"></script>
+  <!-- script type="text/javascript" src="/js/jquery.easing.1.3.js"></script>
+  <script type="text/javascript" 
src="/js/jquery.jBreadCrumb.1.1.js"></script-->
+  <script type="text/javascript"><!--
+        // initialize plugins
+        jQuery(function() {
+               jQuery('#navbar ul:first').addClass('sf-menu');
+            //Nav bar: Supersubs dropdown menus
+            jQuery('#navbar ul:first').supersubs({extraWidth: 
1}).superfish({animation:{opacity:0.97,height:'show'}});
+        });
+  
+        //jQuery(document).ready(function() {
+               //      jQuery("#breadCrumb").jBreadCrumb();
+               //  })
+    --></script>
+</head>
+
+<body>
+    <div id="page">
+        <div id="header">
+            <a href="/index.html"><img id="headerimage" 
src="/images/celix.png" alt="Apache Celix" 
+                    height="130px"></a>
+            <a href="http://incubator.apache.org/";>
+               <img id="incubatorimage" 
src="/celix/images/apache-incubator-logo.png" alt="Apache Incubator">
+               </a>
+            <div id="navbar"> 
+                <ul>
+<li><a href="/index.html">Home</a></li>
+<li><a href="/celix.html">About</a><ul>
+<li><a href="/celix.html">Celix</a></li>
+<li><a href="/background.html">Background</a></li>
+</ul>
+</li>
+<li><a href="/subprojects.html">Subprojects</a><ul>
+<li><a href="/subprojects/dependencymanager.html">Dependency Manager</a></li>
+<li><a href="/subprojects/deviceaccess.html">Device Access</a></li>
+<li><a href="/subprojects/examples.html">Examples</a></li>
+<li><a href="/subprojects/framework.html">Framework</a></li>
+<li><a href="/subprojects/hessian.html">Hessian</a></li>
+<li><a href="/subprojects/launcher.html">Launcher</a></li>
+<li><a href="/subprojects/logservice.html">Log Service</a></li>
+<li><a href="/subprojects/logwriter.html">Log Writer</a></li>
+<li><a href="/subprojects/remoteserviceadmin.html">Remote Service 
Admin</a></li>
+<li><a href="/subprojects/shell.html">Shell</a></li>
+<li><a href="/subprojects/shelltui.html">Shell TUI</a></li>
+<li><a href="/subprojects/utils.html">Utils</a></li>
+</ul>
+</li>
+<li><a href="/documentation.html">Documentation</a><ul>
+<li><a href="/documentation/buildingandrunning.html">Building and 
Running</a></li>
+<li><a href="/documentation/releasing.html">How To Release</a></li>
+<li><a href="/documentation/design.html">Design</a></li>
+<li><a href="/documentation/mapping.html">Mapping</a></li>
+<li><a href="/documentation/memorypools.html">Memory Pools</a></li>
+<li><a href="/documentation/examples.html">Examples</a><ul>
+<li><a href="/examples/helloworld.html">Hello World Example</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="/download.cgi">Download</a></li>
+<li><a href="/community/community.html">Community</a><ul>
+<li><a href="/community/contributing/contributing.html">Contributing</a></li>
+<li><a href="/community/boardreports/boardreports.html">Board Reports</a></li>
+</ul>
+</li>
+<li><a href="/support/support.html">Support</a><ul>
+<li><a href="/support/mailinglist.html">Mailing List</a></li>
+<li><a href="/support/issuetracking.html">Issue Tracking</a></li>
+</ul>
+</li>
+<li><a href="/asf/asf.html">ASF</a><ul>
+<li><a href="http://www.apache.org/";>ASF Home</a></li>
+<li><a href="http://www.apache.org/foundation/how-it-works.html";>How it 
Works</a></li>
+<li><a href="http://www.apache.org/licenses/";>License</a></li>
+<li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li>
+<li><a href="http://www.apache.org/security/";>Security</a></li>
+</ul>
+</li>
+</ul>
+            </div>
+                   <!-- div id="breadCrumbHolder" class="module">
+                       <div id="breadCrumb" class="breadCrumb module">
+                           <ul>
+                               
+                           </ul>
+                       </div>
+                   </div-->
+        </div>
+  
+        <div id="center">
+            <div id="main">
+                <div id="homecenter">
+                    <div id="homeleft">
+                        <h1 class="title">Building and Running</h1>
+                        <p>Note: Currently there is one build that builds 
Celix, the dependency manager and several small test bundles. This will be 
split into several small modules.
+Requirements</p>
+<p>To be able to build Celix, the following is needed:</p>
+<div class="codehilite"><pre>CMake (2.8.4 and higher)
+GNU Make (3.81)
+GCC (4.2.1)
+Celix sources
+Sub-project dependencies
+</pre></div>
+
+
+<p>Note: Currently the framework and the examples are in one large project, 
this results in required libraries which aren't used by the framework itself.
+The following is a list of libraries per sub-project:</p>
+<div class="codehilite"><pre><span class="n">Utils</span><span 
class="p">:</span>
+<span class="o">-</span> <span class="n">Apache</span> <span 
class="n">Portable</span> <span class="n">Runtime</span>
+<span class="o">-</span> <span class="n">CUnit</span>
+
+<span class="n">Framework</span><span class="p">:</span>
+<span class="o">-</span> <span class="n">Apache</span> <span 
class="n">Portable</span> <span class="n">Runtime</span>
+<span class="o">-</span> <span class="n">CUnit</span>
+<span class="o">-</span> <span class="n">ZLib</span>
+<span class="o">-</span> <span class="n">Utils</span> <span 
class="p">(</span><span class="n">Celix</span> <span class="n">sub</span><span 
class="o">-</span><span class="n">project</span><span class="p">)</span>
+
+<span class="n">Shell</span><span class="p">:</span>
+<span class="o">-</span> <span class="n">all</span> <span 
class="n">framework</span> <span class="n">dependencies</span>
+<span class="o">-</span> <span class="n">cURL</span>
+
+<span class="n">Remote</span> <span class="n">Services</span><span 
class="p">:</span>
+<span class="o">-</span> <span class="n">all</span> <span 
class="n">framework</span> <span class="n">dependencies</span>
+<span class="o">-</span> <span class="n">Jansson</span> <span 
class="p">(</span><span class="n">library</span> <span class="k">for</span> 
<span class="n">encoding</span><span class="o">/</span><span 
class="n">decoding</span> <span class="n">JSON</span><span class="p">)</span>
+<span class="o">-</span> <span class="n">Apache</span> <span 
class="n">Portable</span> <span class="n">Runtime</span> <span 
class="n">Utils</span>
+
+<span class="n">Paint</span> <span class="n">example</span><span 
class="p">:</span>
+<span class="o">-</span> <span class="n">all</span> <span 
class="n">framework</span> <span class="n">dependencies</span>
+<span class="o">-</span> <span class="n">GTK</span> <span 
class="p">(</span>2<span class="p">.</span>14 <span class="n">or</span> <span 
class="n">higher</span><span class="p">)</span>
+</pre></div>
+
+
+<h2 id="building">Building</h2>
+<p>Celix uses CMake to generate makefile. There are cmake scripts to build the 
libraries, but also to deploy created bundles to a named target.
+To start building and using Celix these makefiles have to be created. CMake 
supports out-of-source builds, for Celix the build directory is used for 
this.</p>
+<div class="codehilite"><pre><span class="c1">// First extract the 
sources</span>
+<span class="n">svn</span> <span class="n">co</span> <span 
class="nl">https:</span><span 
class="c1">//svn.apache.org/repos/asf/incubator/celix/trunk/ celix</span>
+<span class="n">cd</span> <span class="n">celix</span>
+
+<span class="c1">// Create and go to the build directory to be able to do an 
out-of-source build</span>
+<span class="n">mkdir</span> <span class="n">build</span>
+<span class="n">cd</span> <span class="n">build</span>
+
+<span class="c1">// Generate the make files in the current directory</span>
+<span class="n">cmake</span> <span class="p">..</span>
+</pre></div>
+
+
+<p>After generating the make files, the sources can be build. There are 
several build targets to build the bundles, deploy and package them.
+The following targets are available:
+    // Build all libraries, bundles and packages
+    make all  -&gt; build all libraries, bundles and packages</p>
+<div class="codehilite"><pre><span class="c1">// Deploy all deployment 
targets</span>
+<span class="n">make</span> <span class="n">deploy</span> <span 
class="o">-&gt;</span> <span class="n">deploys</span> <span 
class="n">all</span> <span class="n">deployments</span>
+
+<span class="c1">// Build a single bundle (and its dependencies)</span>
+<span class="n">make</span> <span class="p">{</span><span 
class="n">bundle_name</span><span class="p">}</span>
+
+<span class="c1">// Deploy a singe deployment target (and its 
dependencies)</span>
+<span class="n">make</span> <span class="n">deploy_</span><span 
class="p">{</span><span class="n">deployment_name</span><span 
class="p">}</span> <span class="o">-&gt;</span> <span class="n">deploys</span> 
<span class="n">a</span> <span class="n">single</span> <span 
class="n">deployment</span> <span class="p">(</span><span class="k">and</span> 
<span class="n">dependencies</span><span class="p">)</span>
+
+<span class="c1">// Clean the entire build, including deployment, bundles, 
libraries etc</span>
+<span class="n">make</span> <span class="n">clean</span> <span 
class="o">-&gt;</span> <span class="n">removes</span> <span 
class="n">all</span> <span class="n">deployments</span><span class="p">,</span> 
<span class="n">bundles</span><span class="p">,</span> <span 
class="n">libraries</span> <span class="n">etc</span>
+
+<span class="c1">// Build a &quot;framework.zip&quot; file with the framework, 
headers and selected bundles</span>
+<span class="n">make</span> <span class="n">install</span><span 
class="o">-</span><span class="n">fw</span>
+</pre></div>
+
+
+<p>Also it is possible to enter sub directories of the build and run the build 
from there. So when running make from "build/shell" only the shell 
+(and dependencies) will be build. This is the same as running "make shell" in 
the build root.</p>
+<p>Note: The build files are recursive. If a target is build, all required 
dependencies are build (bundles, libraries etc).</p>
+<h2 id="bundles">Bundles</h2>
+<p>In Celix a bundle is a library packed in a zip file. A bundle is a top 
level build target and can be added using the following macro:</p>
+<div class="codehilite"><pre><span class="n">bundle</span><span 
class="p">(</span><span class="o">&lt;</span><span 
class="n">bundle_name</span><span class="o">&gt;</span> 
+       <span class="n">SOURCES</span> <span class="n">source1</span> <span 
class="n">source2</span> <span class="p">...</span> <span 
class="n">sourceN</span> 
+       <span class="p">[</span><span class="n">DIRECTORIES</span> <span 
class="n">dir1</span> <span class="n">dir2</span> <span class="p">...</span> 
<span class="n">dirN</span><span class="p">]</span> 
+       <span class="p">[</span><span class="n">FILES</span> <span 
class="n">file1</span> <span class="n">file2</span> <span class="p">...</span> 
<span class="n">fileN</span><span class="p">])</span>
+</pre></div>
+
+
+<p>Include directories and link libraries can be defined using the standard 
CMake commands.
+The given examples are simplified for basic usage, see the CMake documentation 
for more information and advanced options.</p>
+<div class="codehilite"><pre><span class="n">include_directories</span><span 
class="p">(</span><span class="n">dir1</span> <span class="n">dir2</span> <span 
class="p">...)</span>
+<span class="n">target_link_libraries</span><span class="p">(</span><span 
class="o">&lt;</span><span class="n">bundle_name</span><span 
class="o">&gt;</span> <span class="p">[</span><span class="n">lib1</span> <span 
class="p">[</span><span class="n">lib2</span> <span class="p">[...]]])</span>
+</pre></div>
+
+
+<p>To export files (eg a header file describing the service), a package is 
created using the "package" command.</p>
+<div class="codehilite"><pre><span class="n">package</span><span 
class="p">(</span><span class="o">&lt;</span><span 
class="n">bundle_name</span><span class="o">&gt;</span> 
+        <span class="p">[</span><span class="n">DIRECTORIES</span> <span 
class="n">dir1</span> <span class="n">dir2</span> <span class="p">...</span> 
<span class="n">dirN</span><span class="p">]</span> 
+        <span class="p">[</span><span class="n">FILES</span> <span 
class="n">file1</span> <span class="n">file2</span> <span class="p">...</span> 
<span class="n">fileN</span><span class="p">])</span>
+</pre></div>
+
+
+<p>This can be used to create a package which contains the bundle and 
additional files (headers etc) needed to use the bundle in different 
projects.</p>
+<h2 id="targets">Targets</h2>
+<p>A named target is used to deploy a group of bundles and create a default 
configuration file.
+To create a target the following command is needed:</p>
+<div class="codehilite"><pre><span class="n">deploy</span><span 
class="p">(</span><span class="o">&lt;</span><span 
class="n">target_name</span><span class="o">&gt;</span> <span 
class="n">BUNDLES</span> <span class="n">bundle1</span> <span 
class="n">bundle2</span> <span class="p">...</span> <span 
class="n">bundleN</span><span class="p">)</span>
+</pre></div>
+
+
+<p>A target is deployed to the build directory where the deploy macro is used. 
So if in <root>/examples a deploy macro is used, the deployment can be found in 
<root>/<build_root>/examples.</p>
+<h2 id="running">Running</h2>
+<p>After building a target, it can be run. To run a target a launcher is 
needed. This launcher is build as part of the standard Celix build, and is 
located in build/launcher.
+The launcher is a simple executable requiring a configuration file in which 
required bundles are listed.
+If a target is deployed using the "deploy" macro, a configuration file is 
created by the build system.
+Finally before the launcher can be executed, the Celix library needs to be 
available on the library path. This depends on the OS being used:</p>
+<p>Linux</p>
+<div class="codehilite"><pre><span class="n">export</span> <span 
class="n">LD_LIBRARY_PATH</span><span class="p">={</span><span 
class="n">build_root</span><span class="p">}</span><span 
class="o">/</span><span class="n">celix</span>
+</pre></div>
+
+
+<p>Mac</p>
+<div class="codehilite"><pre><span class="n">export</span> <span 
class="n">DYLD_LIBRARY_PATH</span><span class="p">={</span><span 
class="n">build_root</span><span class="p">}</span><span 
class="o">/</span><span class="n">celix</span>
+</pre></div>
+
+
+<p>If the library path is set, the launcher can be started.</p>
+<p>{build_root}/launcher/launcher</p>
+<p>Note: for the provided examples a "run.sh" script is generated which takes 
care of setting up the library path.</p>
+                    </div>
+                    <div id="homeright">
+                        
+                        
+                        <div id="download" class="rc">
+                            <h2 id="requirements">Requirements</h2>
+<ul>
+<li>CMake (2.8.4 and higher)</li>
+<li>GCC (4.2.1)</li>
+<li>GNU Make (3.81)</li>
+<li>ZLib</li>
+<li>CUnit</li>
+<li>Celix Source</li>
+</ul>
+<h2 id="useful-links">Useful Links</h2>
+<ul>
+<li><a href="http://www.cmake.org/cmake/help/documentation.html";>CMake 
Documentation</a></li>
+</ul>
+                        </div>
+                        
+                        
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+  
+    <div id="footer">
+        <div class="copyright">
+            <p>
+                Copyright &copy; 2011 The Apache Software Foundation, Licensed 
under 
+                the <a 
href="http://www.apache.org/licenses/LICENSE-2.0";>Apache License, Version 
2.0</a>.
+                <br>
+                Apache Celix, Celix, Apache, the Apache feather logo and the 
Apache Celix logo are trademarks of The Apache Software Foundation.
+            </p>
+        </div>
+    </div>
+</body>
+</html>

Added: websites/staging/celix/trunk/content/documentation/design.html
==============================================================================
--- websites/staging/celix/trunk/content/documentation/design.html (added)
+++ websites/staging/celix/trunk/content/documentation/design.html Tue Jul 29 
17:51:21 2014
@@ -0,0 +1,203 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You 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.
+-->
+
+    <link rel="stylesheet" type="text/css" 
+               href="/css/reset-fonts-grids.css">
+    <link rel="stylesheet" type="text/css" href="/css/base-min.css">
+    <link rel="stylesheet" type="text/css" href="/css/superfish.css" 
media="screen">
+    <!--  link rel="stylesheet" type="text/css" href="/css/BreadCrumb.css" 
media="screen"  -->
+    <link rel="stylesheet" type="text/css" href="/css/celix.css">
+    <link rel="stylesheet" type="text/css" href="/css/pygments.css">
+    
+  
+  <title>Apache Celix - Celix Design</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  
+  <script type="text/javascript" src="/js/jquery.min.js"></script>
+  <script type="text/javascript" src="/js/jquery.gradient.js"></script>
+  <script type="text/javascript" src="/js/jquery.dimensions.js"></script>
+  <script type="text/javascript" src="/js/jquery.hoverIntent.js"></script>
+  <script type="text/javascript" src="/js/superfish.js"></script>
+  <script type="text/javascript" src="/js/supersubs.js"></script>
+  <!-- script type="text/javascript" src="/js/jquery.easing.1.3.js"></script>
+  <script type="text/javascript" 
src="/js/jquery.jBreadCrumb.1.1.js"></script-->
+  <script type="text/javascript"><!--
+        // initialize plugins
+        jQuery(function() {
+               jQuery('#navbar ul:first').addClass('sf-menu');
+            //Nav bar: Supersubs dropdown menus
+            jQuery('#navbar ul:first').supersubs({extraWidth: 
1}).superfish({animation:{opacity:0.97,height:'show'}});
+        });
+  
+        //jQuery(document).ready(function() {
+               //      jQuery("#breadCrumb").jBreadCrumb();
+               //  })
+    --></script>
+</head>
+
+<body>
+    <div id="page">
+        <div id="header">
+            <a href="/index.html"><img id="headerimage" 
src="/images/celix.png" alt="Apache Celix" 
+                    height="130px"></a>
+            <a href="http://incubator.apache.org/";>
+               <img id="incubatorimage" 
src="/celix/images/apache-incubator-logo.png" alt="Apache Incubator">
+               </a>
+            <div id="navbar"> 
+                <ul>
+<li><a href="/index.html">Home</a></li>
+<li><a href="/celix.html">About</a><ul>
+<li><a href="/celix.html">Celix</a></li>
+<li><a href="/background.html">Background</a></li>
+</ul>
+</li>
+<li><a href="/subprojects.html">Subprojects</a><ul>
+<li><a href="/subprojects/dependencymanager.html">Dependency Manager</a></li>
+<li><a href="/subprojects/deviceaccess.html">Device Access</a></li>
+<li><a href="/subprojects/examples.html">Examples</a></li>
+<li><a href="/subprojects/framework.html">Framework</a></li>
+<li><a href="/subprojects/hessian.html">Hessian</a></li>
+<li><a href="/subprojects/launcher.html">Launcher</a></li>
+<li><a href="/subprojects/logservice.html">Log Service</a></li>
+<li><a href="/subprojects/logwriter.html">Log Writer</a></li>
+<li><a href="/subprojects/remoteserviceadmin.html">Remote Service 
Admin</a></li>
+<li><a href="/subprojects/shell.html">Shell</a></li>
+<li><a href="/subprojects/shelltui.html">Shell TUI</a></li>
+<li><a href="/subprojects/utils.html">Utils</a></li>
+</ul>
+</li>
+<li><a href="/documentation.html">Documentation</a><ul>
+<li><a href="/documentation/buildingandrunning.html">Building and 
Running</a></li>
+<li><a href="/documentation/releasing.html">How To Release</a></li>
+<li><a href="/documentation/design.html">Design</a></li>
+<li><a href="/documentation/mapping.html">Mapping</a></li>
+<li><a href="/documentation/memorypools.html">Memory Pools</a></li>
+<li><a href="/documentation/examples.html">Examples</a><ul>
+<li><a href="/examples/helloworld.html">Hello World Example</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="/download.cgi">Download</a></li>
+<li><a href="/community/community.html">Community</a><ul>
+<li><a href="/community/contributing/contributing.html">Contributing</a></li>
+<li><a href="/community/boardreports/boardreports.html">Board Reports</a></li>
+</ul>
+</li>
+<li><a href="/support/support.html">Support</a><ul>
+<li><a href="/support/mailinglist.html">Mailing List</a></li>
+<li><a href="/support/issuetracking.html">Issue Tracking</a></li>
+</ul>
+</li>
+<li><a href="/asf/asf.html">ASF</a><ul>
+<li><a href="http://www.apache.org/";>ASF Home</a></li>
+<li><a href="http://www.apache.org/foundation/how-it-works.html";>How it 
Works</a></li>
+<li><a href="http://www.apache.org/licenses/";>License</a></li>
+<li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li>
+<li><a href="http://www.apache.org/security/";>Security</a></li>
+</ul>
+</li>
+</ul>
+            </div>
+                   <!-- div id="breadCrumbHolder" class="module">
+                       <div id="breadCrumb" class="breadCrumb module">
+                           <ul>
+                               
+                           </ul>
+                       </div>
+                   </div-->
+        </div>
+  
+        <div id="center">
+            <div id="main">
+                <div id="homecenter">
+                    <div id="homeleft">
+                        <h1 class="title">Celix Design</h1>
+                        <p>Since Celix tries to follow the OSGi specification 
as close as possible, most of the design can be found in these 
+specifications. Some key aspects of OSGi can not be mapped on C, these 
differences are detailed on this page.</p>
+<p>The following important differences are:</p>
+<ul>
+<li><a href="#services_and_service_interfaces">Services and Service 
Interfaces</a></li>
+<li><a href="#objects_and_object_state">Objects and Object State</a></li>
+<li><a href="#namespaces">Namespaces</a></li>
+<li><a href="#imported_and_exported_packages">Imported and Exported 
Packages</a></li>
+<li><a href="#exception_handling">Exception Handling</a></li>
+</ul>
+<h2 id="services-and-service-interfaces">Services and Service Interfaces</h2>
+<p>OSGi uses Java Interfaces to define a service. Since C does not have 
Interfaces as compilable unit, this is not possible 
+for Celix. To be able to define a service which hides implementation details, 
Celix uses structs with function pointers.
+To register a service, in the activator, the actual functions are assigned to 
the pointers of the struct. This struct is
+registered as service implementation.</p>
+<h2 id="object-and-object-state">Object and Object State</h2>
+<p>Most notably is the use of Objects in Java, and the lack of Objects in C. 
To solve this and be able to pass instance 
+data through the framework, structs are used. Every framework method follows 
the signature as defined in the 
+specification, with one addition; the first argument is a pointer to a struct 
instance. The structure of these structs 
+are hidden behind a typedef to be able to control access to, and to 
limit/prevent modifications to the struct its data. 
+So basically the pointer is merely used as a handle to be able to track 
instances.</p>
+<h2 id="namespaces">Namespaces</h2>
+<p>Java uses packages for the namespace of classes, and methods are grouped by 
class. In C there is no alternative. To 
+prevent name clashes, function names are prefixed with the name of the class 
defined in the specification.</p>
+<p>Function in C:</p>
+<div class="codehilite"><pre><span class="n">celix_status_t</span> <span 
class="n">bundleContext_registerService</span><span class="p">(</span><span 
class="n">BUNDLE_CONTEXT</span> <span class="n">context</span><span 
class="p">,</span> <span class="kt">char</span> <span class="o">*</span> <span 
class="n">serviceName</span><span class="p">,</span> <span 
class="kt">void</span> <span class="o">*</span> <span 
class="n">svcObj</span><span class="p">,</span> <span 
class="n">HASHTABLE</span> <span class="n">properties</span><span 
class="p">,</span> <span class="n">SERVICE_REGISTRATION</span> <span 
class="o">*</span><span class="n">registration</span><span class="p">);</span>
+</pre></div>
+
+
+<p>Method in Java:</p>
+<div class="codehilite"><pre><span class="kd">public</span> <span 
class="n">ServiceRegistration</span> <span 
class="nf">registerService</span><span class="o">(</span><span 
class="n">String</span> <span class="n">clazz</span><span class="o">,</span> 
<span class="n">Object</span> <span class="n">service</span><span 
class="o">,</span> <span class="n">Dictionary</span> <span 
class="n">properties</span><span class="o">);</span>
+</pre></div>
+
+
+<p>More details about the mapping from Java to C can be found at <a 
href="/celix/documentation/mapping.html">Mapping</a></p>
+<h2 id="imported-and-exported-packages">Imported and Exported Packages</h2>
+<p>The OSGi Specification uses packages for importing and exporting service 
interfaces and additional types. As explained 
+before, C does not have packages, so it is not possible to export packages. 
Instead, services are exported and imported. 
+This implies that the service struct has to be available to the using 
components.
+There is also no programmatic protection to types used in the service 
implementation. If the definition of types are 
+available, they can be used.
+So it is up to the implementer of a service to define the struct and public 
types separately from the inner types of the 
+component. The public definitions can be published in a header file.</p>
+<h2 id="exception-handling">Exception Handling</h2>
+<p>OSGi uses exceptions to report errors and problems. Celix return a status 
from every call. This requires that each method 
+must return an integer which indicates the state. For returned pointers/values 
(OUT) call-by-reference must be used.</p>
+                    </div>
+                    <div id="homeright">
+                        
+                        
+                        
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+  
+    <div id="footer">
+        <div class="copyright">
+            <p>
+                Copyright &copy; 2011 The Apache Software Foundation, Licensed 
under 
+                the <a 
href="http://www.apache.org/licenses/LICENSE-2.0";>Apache License, Version 
2.0</a>.
+                <br>
+                Apache Celix, Celix, Apache, the Apache feather logo and the 
Apache Celix logo are trademarks of The Apache Software Foundation.
+            </p>
+        </div>
+    </div>
+</body>
+</html>

Added: websites/staging/celix/trunk/content/documentation/examples.html
==============================================================================
--- websites/staging/celix/trunk/content/documentation/examples.html (added)
+++ websites/staging/celix/trunk/content/documentation/examples.html Tue Jul 29 
17:51:21 2014
@@ -0,0 +1,161 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You 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.
+-->
+
+    <link rel="stylesheet" type="text/css" 
+               href="/css/reset-fonts-grids.css">
+    <link rel="stylesheet" type="text/css" href="/css/base-min.css">
+    <link rel="stylesheet" type="text/css" href="/css/superfish.css" 
media="screen">
+    <!--  link rel="stylesheet" type="text/css" href="/css/BreadCrumb.css" 
media="screen"  -->
+    <link rel="stylesheet" type="text/css" href="/css/celix.css">
+    <link rel="stylesheet" type="text/css" href="/css/pygments.css">
+    
+  
+  <title>Apache Celix - Examples</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  
+  <script type="text/javascript" src="/js/jquery.min.js"></script>
+  <script type="text/javascript" src="/js/jquery.gradient.js"></script>
+  <script type="text/javascript" src="/js/jquery.dimensions.js"></script>
+  <script type="text/javascript" src="/js/jquery.hoverIntent.js"></script>
+  <script type="text/javascript" src="/js/superfish.js"></script>
+  <script type="text/javascript" src="/js/supersubs.js"></script>
+  <!-- script type="text/javascript" src="/js/jquery.easing.1.3.js"></script>
+  <script type="text/javascript" 
src="/js/jquery.jBreadCrumb.1.1.js"></script-->
+  <script type="text/javascript"><!--
+        // initialize plugins
+        jQuery(function() {
+               jQuery('#navbar ul:first').addClass('sf-menu');
+            //Nav bar: Supersubs dropdown menus
+            jQuery('#navbar ul:first').supersubs({extraWidth: 
1}).superfish({animation:{opacity:0.97,height:'show'}});
+        });
+  
+        //jQuery(document).ready(function() {
+               //      jQuery("#breadCrumb").jBreadCrumb();
+               //  })
+    --></script>
+</head>
+
+<body>
+    <div id="page">
+        <div id="header">
+            <a href="/index.html"><img id="headerimage" 
src="/images/celix.png" alt="Apache Celix" 
+                    height="130px"></a>
+            <a href="http://incubator.apache.org/";>
+               <img id="incubatorimage" 
src="/celix/images/apache-incubator-logo.png" alt="Apache Incubator">
+               </a>
+            <div id="navbar"> 
+                <ul>
+<li><a href="/index.html">Home</a></li>
+<li><a href="/celix.html">About</a><ul>
+<li><a href="/celix.html">Celix</a></li>
+<li><a href="/background.html">Background</a></li>
+</ul>
+</li>
+<li><a href="/subprojects.html">Subprojects</a><ul>
+<li><a href="/subprojects/dependencymanager.html">Dependency Manager</a></li>
+<li><a href="/subprojects/deviceaccess.html">Device Access</a></li>
+<li><a href="/subprojects/examples.html">Examples</a></li>
+<li><a href="/subprojects/framework.html">Framework</a></li>
+<li><a href="/subprojects/hessian.html">Hessian</a></li>
+<li><a href="/subprojects/launcher.html">Launcher</a></li>
+<li><a href="/subprojects/logservice.html">Log Service</a></li>
+<li><a href="/subprojects/logwriter.html">Log Writer</a></li>
+<li><a href="/subprojects/remoteserviceadmin.html">Remote Service 
Admin</a></li>
+<li><a href="/subprojects/shell.html">Shell</a></li>
+<li><a href="/subprojects/shelltui.html">Shell TUI</a></li>
+<li><a href="/subprojects/utils.html">Utils</a></li>
+</ul>
+</li>
+<li><a href="/documentation.html">Documentation</a><ul>
+<li><a href="/documentation/buildingandrunning.html">Building and 
Running</a></li>
+<li><a href="/documentation/releasing.html">How To Release</a></li>
+<li><a href="/documentation/design.html">Design</a></li>
+<li><a href="/documentation/mapping.html">Mapping</a></li>
+<li><a href="/documentation/memorypools.html">Memory Pools</a></li>
+<li><a href="/documentation/examples.html">Examples</a><ul>
+<li><a href="/examples/helloworld.html">Hello World Example</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="/download.cgi">Download</a></li>
+<li><a href="/community/community.html">Community</a><ul>
+<li><a href="/community/contributing/contributing.html">Contributing</a></li>
+<li><a href="/community/boardreports/boardreports.html">Board Reports</a></li>
+</ul>
+</li>
+<li><a href="/support/support.html">Support</a><ul>
+<li><a href="/support/mailinglist.html">Mailing List</a></li>
+<li><a href="/support/issuetracking.html">Issue Tracking</a></li>
+</ul>
+</li>
+<li><a href="/asf/asf.html">ASF</a><ul>
+<li><a href="http://www.apache.org/";>ASF Home</a></li>
+<li><a href="http://www.apache.org/foundation/how-it-works.html";>How it 
Works</a></li>
+<li><a href="http://www.apache.org/licenses/";>License</a></li>
+<li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li>
+<li><a href="http://www.apache.org/security/";>Security</a></li>
+</ul>
+</li>
+</ul>
+            </div>
+                   <!-- div id="breadCrumbHolder" class="module">
+                       <div id="breadCrumb" class="breadCrumb module">
+                           <ul>
+                               
+                           </ul>
+                       </div>
+                   </div-->
+        </div>
+  
+        <div id="center">
+            <div id="main">
+                <div id="homecenter">
+                    <div id="homeleft">
+                        <h1 class="title">Examples</h1>
+                        <p>The following examples are available:</p>
+<ul>
+<li><a href="/celix/examples/helloworld.html">Hello World</a></li>
+</ul>
+                    </div>
+                    <div id="homeright">
+                        
+                        
+                        
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+  
+    <div id="footer">
+        <div class="copyright">
+            <p>
+                Copyright &copy; 2011 The Apache Software Foundation, Licensed 
under 
+                the <a 
href="http://www.apache.org/licenses/LICENSE-2.0";>Apache License, Version 
2.0</a>.
+                <br>
+                Apache Celix, Celix, Apache, the Apache feather logo and the 
Apache Celix logo are trademarks of The Apache Software Foundation.
+            </p>
+        </div>
+    </div>
+</body>
+</html>

Added: websites/staging/celix/trunk/content/documentation/mapping.html
==============================================================================
--- websites/staging/celix/trunk/content/documentation/mapping.html (added)
+++ websites/staging/celix/trunk/content/documentation/mapping.html Tue Jul 29 
17:51:21 2014
@@ -0,0 +1,211 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You 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.
+-->
+
+    <link rel="stylesheet" type="text/css" 
+               href="/css/reset-fonts-grids.css">
+    <link rel="stylesheet" type="text/css" href="/css/base-min.css">
+    <link rel="stylesheet" type="text/css" href="/css/superfish.css" 
media="screen">
+    <!--  link rel="stylesheet" type="text/css" href="/css/BreadCrumb.css" 
media="screen"  -->
+    <link rel="stylesheet" type="text/css" href="/css/celix.css">
+    <link rel="stylesheet" type="text/css" href="/css/pygments.css">
+    
+  
+  <title>Apache Celix - Mapping</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  
+  <script type="text/javascript" src="/js/jquery.min.js"></script>
+  <script type="text/javascript" src="/js/jquery.gradient.js"></script>
+  <script type="text/javascript" src="/js/jquery.dimensions.js"></script>
+  <script type="text/javascript" src="/js/jquery.hoverIntent.js"></script>
+  <script type="text/javascript" src="/js/superfish.js"></script>
+  <script type="text/javascript" src="/js/supersubs.js"></script>
+  <!-- script type="text/javascript" src="/js/jquery.easing.1.3.js"></script>
+  <script type="text/javascript" 
src="/js/jquery.jBreadCrumb.1.1.js"></script-->
+  <script type="text/javascript"><!--
+        // initialize plugins
+        jQuery(function() {
+               jQuery('#navbar ul:first').addClass('sf-menu');
+            //Nav bar: Supersubs dropdown menus
+            jQuery('#navbar ul:first').supersubs({extraWidth: 
1}).superfish({animation:{opacity:0.97,height:'show'}});
+        });
+  
+        //jQuery(document).ready(function() {
+               //      jQuery("#breadCrumb").jBreadCrumb();
+               //  })
+    --></script>
+</head>
+
+<body>
+    <div id="page">
+        <div id="header">
+            <a href="/index.html"><img id="headerimage" 
src="/images/celix.png" alt="Apache Celix" 
+                    height="130px"></a>
+            <a href="http://incubator.apache.org/";>
+               <img id="incubatorimage" 
src="/celix/images/apache-incubator-logo.png" alt="Apache Incubator">
+               </a>
+            <div id="navbar"> 
+                <ul>
+<li><a href="/index.html">Home</a></li>
+<li><a href="/celix.html">About</a><ul>
+<li><a href="/celix.html">Celix</a></li>
+<li><a href="/background.html">Background</a></li>
+</ul>
+</li>
+<li><a href="/subprojects.html">Subprojects</a><ul>
+<li><a href="/subprojects/dependencymanager.html">Dependency Manager</a></li>
+<li><a href="/subprojects/deviceaccess.html">Device Access</a></li>
+<li><a href="/subprojects/examples.html">Examples</a></li>
+<li><a href="/subprojects/framework.html">Framework</a></li>
+<li><a href="/subprojects/hessian.html">Hessian</a></li>
+<li><a href="/subprojects/launcher.html">Launcher</a></li>
+<li><a href="/subprojects/logservice.html">Log Service</a></li>
+<li><a href="/subprojects/logwriter.html">Log Writer</a></li>
+<li><a href="/subprojects/remoteserviceadmin.html">Remote Service 
Admin</a></li>
+<li><a href="/subprojects/shell.html">Shell</a></li>
+<li><a href="/subprojects/shelltui.html">Shell TUI</a></li>
+<li><a href="/subprojects/utils.html">Utils</a></li>
+</ul>
+</li>
+<li><a href="/documentation.html">Documentation</a><ul>
+<li><a href="/documentation/buildingandrunning.html">Building and 
Running</a></li>
+<li><a href="/documentation/releasing.html">How To Release</a></li>
+<li><a href="/documentation/design.html">Design</a></li>
+<li><a href="/documentation/mapping.html">Mapping</a></li>
+<li><a href="/documentation/memorypools.html">Memory Pools</a></li>
+<li><a href="/documentation/examples.html">Examples</a><ul>
+<li><a href="/examples/helloworld.html">Hello World Example</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="/download.cgi">Download</a></li>
+<li><a href="/community/community.html">Community</a><ul>
+<li><a href="/community/contributing/contributing.html">Contributing</a></li>
+<li><a href="/community/boardreports/boardreports.html">Board Reports</a></li>
+</ul>
+</li>
+<li><a href="/support/support.html">Support</a><ul>
+<li><a href="/support/mailinglist.html">Mailing List</a></li>
+<li><a href="/support/issuetracking.html">Issue Tracking</a></li>
+</ul>
+</li>
+<li><a href="/asf/asf.html">ASF</a><ul>
+<li><a href="http://www.apache.org/";>ASF Home</a></li>
+<li><a href="http://www.apache.org/foundation/how-it-works.html";>How it 
Works</a></li>
+<li><a href="http://www.apache.org/licenses/";>License</a></li>
+<li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li>
+<li><a href="http://www.apache.org/security/";>Security</a></li>
+</ul>
+</li>
+</ul>
+            </div>
+                   <!-- div id="breadCrumbHolder" class="module">
+                       <div id="breadCrumb" class="breadCrumb module">
+                           <ul>
+                               
+                           </ul>
+                       </div>
+                   </div-->
+        </div>
+  
+        <div id="center">
+            <div id="main">
+                <div id="homecenter">
+                    <div id="homeleft">
+                        <h1 class="title">Mapping</h1>
+                        <p>To be able to follow the OSGi specification, a 
standard mapping from C to Java is defined. This mapping
+takes care of how instances, parameters, return values and error codes are 
used.</p>
+<h2 id="example">Example</h2>
+<p>Before going into detail, here is an example of the mapping from a method 
in Java to a function in C:</p>
+<div class="codehilite"><pre><span class="n">celix_status_t</span> <span 
class="n">bundleContext_getServiceReferences</span><span 
class="p">(</span><span class="n">BUNDLE_CONTEXT</span> <span 
class="n">context</span><span class="p">,</span> <span class="k">const</span> 
<span class="kt">char</span> <span class="o">*</span> <span 
class="n">serviceName</span><span class="p">,</span> <span 
class="kt">char</span> <span class="o">*</span> <span 
class="n">filter</span><span class="p">,</span> <span 
class="n">ARRAY_LIST</span> <span class="o">*</span><span 
class="n">service_references</span><span class="p">)</span>
+
+<span class="o">:::</span><span class="n">java</span>
+<span class="n">public</span> <span class="n">ServiceReference</span><span 
class="p">[]</span> <span class="n">getServiceReferences</span><span 
class="p">(</span><span class="n">String</span> <span 
class="n">clazz</span><span class="p">,</span> <span class="n">String</span> 
<span class="n">filter</span><span class="p">)</span> <span 
class="n">throws</span> <span class="n">InvalidSyntaxException</span>
+</pre></div>
+
+
+<h2 id="template">Template</h2>
+<p>Using the provided example, the following template can be extracted:</p>
+<div class="codehilite"><pre><span class="cm">/**</span>
+<span class="cm"> * celix_status_t: return type of the status code</span>
+<span class="cm"> * </span>
+<span class="cm"> * typeName: name of the object/type this function is part 
of</span>
+<span class="cm"> * functionName: the name of the function</span>
+<span class="cm"> * </span>
+<span class="cm"> * typeName_t: The actual instance to &quot;invoke&quot; this 
function on</span>
+<span class="cm"> * pool: optional pool on which the output is allocated</span>
+<span class="cm"> * parameters: default function parameters</span>
+<span class="cm"> * output parameters: the output which the caller can 
use</span>
+<span class="cm"> */</span>
+<span class="n">celix_status_t</span> <span 
class="n">typeName_functionName</span><span class="p">([</span><span 
class="n">typeName_t</span> <span class="n">instance</span><span 
class="p">,</span> <span class="p">][</span><span class="n">apr_pool_t</span> 
<span class="o">*</span><span class="n">pool</span><span class="p">,</span> 
<span class="p">][</span><span class="n">parameters</span><span 
class="p">,</span> <span class="p">][</span><span class="n">output</span> <span 
class="n">parameters</span><span class="p">]);</span>
+</pre></div>
+
+
+<h2 id="details">Details</h2>
+<p>To fully explain the mapping, the following items will be detailed:</p>
+<ul>
+<li>Instance parameter</li>
+<li>Error codes</li>
+<li>Output parameters</li>
+<li>Memory pools</li>
+</ul>
+<h3 id="instances">Instances</h3>
+<p>When using Java, methods are related to an instance of a type. So for 
example, when the "getServiceReferences" method is used, 
+it is always executed on an instance of BundleContext.
+When using C, functions are not related to any type, and as such, no instance 
information is available. To make this possible
+in Celix a pointer to the needed instance is always passed as first argument. 
The only exception are the "create" functions, they 
+are used to create a new instance.</p>
+<p>Furthermore, the instance typename is used as part of the function name, 
see "design.html" for more information.</p>
+<h3 id="error-codes">Error codes</h3>
+<p>The OSGi specification uses Java Exceptions for error handling. Even though 
there are Exceptions-like solutions for C, Celix uses 
+the simpler approach. Every method in Celix returns an status code 
(celix_status_t), this code can be used for error handling.</p>
+<h3 id="output-parameters">Output parameters</h3>
+<p>Since the return value is always used for the status code output parameters 
are used to get a possible result from a function.
+Celix uses pass-by-reference for this, the uses has to supply a pointer to the 
function to get the results. Using this mechanism it is 
+also possible to use multiple output parameters.
+Celix always uses the last parameter(s) for output, and the caller has to 
NULL-initialize the result field.</p>
+<h3 id="memory-pools">Memory pools</h3>
+<p>Celix uses APR memory pools for allocation. In the case a functions result 
has to be allocated to the caller its own pool, the pool has 
+to be supplied as an parameter. Note: Not all of Celix' API have been updated 
to use APR (and memory pools), this is a work in progress.</p>
+                    </div>
+                    <div id="homeright">
+                        
+                        
+                        
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+  
+    <div id="footer">
+        <div class="copyright">
+            <p>
+                Copyright &copy; 2011 The Apache Software Foundation, Licensed 
under 
+                the <a 
href="http://www.apache.org/licenses/LICENSE-2.0";>Apache License, Version 
2.0</a>.
+                <br>
+                Apache Celix, Celix, Apache, the Apache feather logo and the 
Apache Celix logo are trademarks of The Apache Software Foundation.
+            </p>
+        </div>
+    </div>
+</body>
+</html>

Added: websites/staging/celix/trunk/content/documentation/memorypools.html
==============================================================================
--- websites/staging/celix/trunk/content/documentation/memorypools.html (added)
+++ websites/staging/celix/trunk/content/documentation/memorypools.html Tue Jul 
29 17:51:21 2014
@@ -0,0 +1,184 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd";>
+<html>
+<head>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You 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.
+-->
+
+    <link rel="stylesheet" type="text/css" 
+               href="/css/reset-fonts-grids.css">
+    <link rel="stylesheet" type="text/css" href="/css/base-min.css">
+    <link rel="stylesheet" type="text/css" href="/css/superfish.css" 
media="screen">
+    <!--  link rel="stylesheet" type="text/css" href="/css/BreadCrumb.css" 
media="screen"  -->
+    <link rel="stylesheet" type="text/css" href="/css/celix.css">
+    <link rel="stylesheet" type="text/css" href="/css/pygments.css">
+    
+  
+  <title>Apache Celix - Memory Pools</title>
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+  
+  <script type="text/javascript" src="/js/jquery.min.js"></script>
+  <script type="text/javascript" src="/js/jquery.gradient.js"></script>
+  <script type="text/javascript" src="/js/jquery.dimensions.js"></script>
+  <script type="text/javascript" src="/js/jquery.hoverIntent.js"></script>
+  <script type="text/javascript" src="/js/superfish.js"></script>
+  <script type="text/javascript" src="/js/supersubs.js"></script>
+  <!-- script type="text/javascript" src="/js/jquery.easing.1.3.js"></script>
+  <script type="text/javascript" 
src="/js/jquery.jBreadCrumb.1.1.js"></script-->
+  <script type="text/javascript"><!--
+        // initialize plugins
+        jQuery(function() {
+               jQuery('#navbar ul:first').addClass('sf-menu');
+            //Nav bar: Supersubs dropdown menus
+            jQuery('#navbar ul:first').supersubs({extraWidth: 
1}).superfish({animation:{opacity:0.97,height:'show'}});
+        });
+  
+        //jQuery(document).ready(function() {
+               //      jQuery("#breadCrumb").jBreadCrumb();
+               //  })
+    --></script>
+</head>
+
+<body>
+    <div id="page">
+        <div id="header">
+            <a href="/index.html"><img id="headerimage" 
src="/images/celix.png" alt="Apache Celix" 
+                    height="130px"></a>
+            <a href="http://incubator.apache.org/";>
+               <img id="incubatorimage" 
src="/celix/images/apache-incubator-logo.png" alt="Apache Incubator">
+               </a>
+            <div id="navbar"> 
+                <ul>
+<li><a href="/index.html">Home</a></li>
+<li><a href="/celix.html">About</a><ul>
+<li><a href="/celix.html">Celix</a></li>
+<li><a href="/background.html">Background</a></li>
+</ul>
+</li>
+<li><a href="/subprojects.html">Subprojects</a><ul>
+<li><a href="/subprojects/dependencymanager.html">Dependency Manager</a></li>
+<li><a href="/subprojects/deviceaccess.html">Device Access</a></li>
+<li><a href="/subprojects/examples.html">Examples</a></li>
+<li><a href="/subprojects/framework.html">Framework</a></li>
+<li><a href="/subprojects/hessian.html">Hessian</a></li>
+<li><a href="/subprojects/launcher.html">Launcher</a></li>
+<li><a href="/subprojects/logservice.html">Log Service</a></li>
+<li><a href="/subprojects/logwriter.html">Log Writer</a></li>
+<li><a href="/subprojects/remoteserviceadmin.html">Remote Service 
Admin</a></li>
+<li><a href="/subprojects/shell.html">Shell</a></li>
+<li><a href="/subprojects/shelltui.html">Shell TUI</a></li>
+<li><a href="/subprojects/utils.html">Utils</a></li>
+</ul>
+</li>
+<li><a href="/documentation.html">Documentation</a><ul>
+<li><a href="/documentation/buildingandrunning.html">Building and 
Running</a></li>
+<li><a href="/documentation/releasing.html">How To Release</a></li>
+<li><a href="/documentation/design.html">Design</a></li>
+<li><a href="/documentation/mapping.html">Mapping</a></li>
+<li><a href="/documentation/memorypools.html">Memory Pools</a></li>
+<li><a href="/documentation/examples.html">Examples</a><ul>
+<li><a href="/examples/helloworld.html">Hello World Example</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a href="/download.cgi">Download</a></li>
+<li><a href="/community/community.html">Community</a><ul>
+<li><a href="/community/contributing/contributing.html">Contributing</a></li>
+<li><a href="/community/boardreports/boardreports.html">Board Reports</a></li>
+</ul>
+</li>
+<li><a href="/support/support.html">Support</a><ul>
+<li><a href="/support/mailinglist.html">Mailing List</a></li>
+<li><a href="/support/issuetracking.html">Issue Tracking</a></li>
+</ul>
+</li>
+<li><a href="/asf/asf.html">ASF</a><ul>
+<li><a href="http://www.apache.org/";>ASF Home</a></li>
+<li><a href="http://www.apache.org/foundation/how-it-works.html";>How it 
Works</a></li>
+<li><a href="http://www.apache.org/licenses/";>License</a></li>
+<li><a 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a></li>
+<li><a href="http://www.apache.org/foundation/thanks.html";>Thanks</a></li>
+<li><a href="http://www.apache.org/security/";>Security</a></li>
+</ul>
+</li>
+</ul>
+            </div>
+                   <!-- div id="breadCrumbHolder" class="module">
+                       <div id="breadCrumb" class="breadCrumb module">
+                           <ul>
+                               
+                           </ul>
+                       </div>
+                   </div-->
+        </div>
+  
+        <div id="center">
+            <div id="main">
+                <div id="homecenter">
+                    <div id="homeleft">
+                        <h1 class="title">Memory Pools</h1>
+                        <p>Celix uses the <a 
href="http://apr.apache.org";>Apache Portable Runtime</a> (APR) as abstraction 
layer for platforms. APR uses memory pools to make memory management easier. To 
be able to use memory pools the lifetime of "objects" must be known.</p>
+<p>This page details how Celix user APR memory pools and what the lifetime of 
objects within Celix is. This will result in some best practices that should be 
followed when using APR.</p>
+<p>Roughly, within Celix, the following object groups can be identified, where 
each object has its own memory pool:</p>
+<ul>
+<li>
+<p>The framework </p>
+<p>The framework runs as long as the application and thus has the longest 
lifetime (if Celix is not embedded). The memory pool of the framework contains 
all objects belonging to the framework, for example the service registry 
etc.</p>
+</li>
+<li>
+<p>Installed bundles</p>
+<p>For each bundle that is installed a new memory pool is created. This memory 
pool is active until the bundle is uninstalled. On this pool the metadata of 
the bundle is allocated, as well as other static aspects.
+The bundle pool is a child pool of the framework pool.</p>
+</li>
+<li>
+<p>Active bundles</p>
+<p>If a bundle is started a new pool is created. This pool is used for all 
runtime aspects of the bundle, the bundle context, the loading of the library 
etc. A reference to this pool is also kept in the bundle context so that it can 
be used in the activator (and component). This pool is cleared and destroyed if 
the bundle is stopped.
+The active bundle pool is a child pool of the bundle pool.</p>
+</li>
+<li>
+<p>User invocation</p>
+<p>During the lifetime of a bundle it is often needed to request information 
from the framework. If this invocation is only needed once, the pool from the 
bundle context can be used, but most likely invocations have to be repeated. To 
prevent a growing pool, for each invocation the caller has to supply a memory 
pool on which the request has to be allocated.
+It is up the caller to determine the life time of a request, and destroy the 
pool if it is no longer needed.
+To be sure all user pools are cleared, the active bundle pool should be used 
as parent. This guarantees all user pools will be destroyed if the bundle is 
stopped.</p>
+</li>
+</ul>
+<p>The following diagram roughly depicts the state of a bundle and what pool 
must be/is used for that state.</p>
+<p><img alt="alt text" src="/celix/images/memory_pools.png" /></p>
+                    </div>
+                    <div id="homeright">
+                        
+                        
+                        
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+  
+    <div id="footer">
+        <div class="copyright">
+            <p>
+                Copyright &copy; 2011 The Apache Software Foundation, Licensed 
under 
+                the <a 
href="http://www.apache.org/licenses/LICENSE-2.0";>Apache License, Version 
2.0</a>.
+                <br>
+                Apache Celix, Celix, Apache, the Apache feather logo and the 
Apache Celix logo are trademarks of The Apache Software Foundation.
+            </p>
+        </div>
+    </div>
+</body>
+</html>


Reply via email to