<?xml version="1.0" encoding="UTF-8"?>
<!--

  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.

-->
<!--
FDS Config Unit Test - 1i

Tests config using all the possible includes from a directory.
 -->
<services-config xmlns="http://www.adobe.com/2006/flex-enterprise-services">

    <services>

        <service id="foo-service"
                 class="flex.messaging.services.FooService"
                 messageTypes="flex.messaging.messages.FooMessage">

            <adapters>
                <adapter-include directory-path="adapters"/>
            </adapters>

            <default-channels>
                <channel ref="foo-channel"/>
            </default-channels>

            <destination-include directory-path="destinations"/>

        </service>

    </services>

    <channels>
        <channel-include directory-path="channels"/>
    </channels>

    <security>
        <constraint-include directory-path="constraints"/>
    </security>

</services-config>