<?xml version="1.0" encoding="utf-8"?>

<!--
  (c) Copyright 2016 The Android Open Source Project

  Licensed 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.
  -->

<vendors>
    <vendor>
        <name>@string/plugin_vendor_lexmark</name>
        <package>com.lexmark.print.plugin</package>
        <mdns-names>
            <mdns-name>Lexmark</mdns-name>
            <mdns-name>Lexmark International</mdns-name>
        </mdns-names>
    </vendor>

    <vendor>
        <name>@string/plugin_vendor_brother</name>
        <package>com.brother.printservice</package>
        <mdns-names>
            <mdns-name>Brother</mdns-name>
        </mdns-names>
    </vendor>

    <vendor>
        <name>@string/plugin_vendor_canon</name>
        <package>jp.co.canon.android.printservice.plugin</package>
        <mdns-names>
            <mdns-name>Canon</mdns-name>
        </mdns-names>
    </vendor>

    <vendor>
        <name>@string/plugin_vendor_epson</name>
        <package>com.epson.mobilephone.android.epsonprintserviceplugin</package>
        <mdns-names>
            <mdns-name>Epson</mdns-name>
        </mdns-names>
    </vendor>

    <vendor>
        <name>@string/plugin_vendor_konica_minolta</name>
        <package>com.kmbt.printservice</package>
        <mdns-names>
            <mdns-name>Konica Minolta</mdns-name>
            <mdns-name>Minolta</mdns-name>
        </mdns-names>
    </vendor>

    <vendor>
        <name>@string/plugin_vendor_fuji</name>
        <package>jp.co.fujixerox.prt.PrintUtil.PCL</package>
        <mdns-names>
            <mdns-name>FUJI XEROX</mdns-name>
        </mdns-names>
    </vendor>
</vendors>
