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

  <!-- User-selectable features -->
  <Fragment>
    <Feature Id="Fe.Wireshark" Title="$(var.WiresharkName)" Level="1" AllowAdvertise="yes" Display="expand" Description="The main network protocol analyzer application.">
      <ComponentGroupRef Id="CG.Wireshark" />
      <ComponentGroupRef Id="CG.QtDependencies" />
      <ComponentGroupRef Id="CG.QtTranslations" />
      <ComponentGroupRef Id="CG.WiresharkStartMenu" />
      <ComponentGroupRef Id="CG.WiresharkDesktopIcon" />
      <ComponentGroupRef Id="CG.WiresharkQuickLaunchIcon" />
      <ComponentGroupRef Id="CG.WiresharkFileAssociations" />
    </Feature>
    <Feature Id="Fe.WiresharkRequired" Title="Required" Level="1" AllowAdvertise="yes" Display="hidden" Description="Install for every user">
      <ComponentGroupRef Id="CG.WiresharkRequired" />
      <ComponentGroupRef Id="CG.ColorFilters" />
      <ComponentGroupRef Id="CG.Diameter" />
      <ComponentGroupRef Id="CG.RadiusDict" />
      <ComponentGroupRef Id="CG.Dtds" />
      <ComponentGroupRef Id="CG.Tpncp" />
      <ComponentGroupRef Id="CG.Wimaxasncp" />
      <ComponentGroupRef Id="CG.Protobuf" />
      <ComponentGroupRef Id="CG.RequiredDependencies" />

    </Feature>
    <Feature Id="Fe.TShark" Title="TShark" Level="1" AllowAdvertise="yes" Display="expand" Description="Text based network protocol analyzer.">
      <ComponentGroupRef Id="CG.TShark" />
    </Feature>
    <Feature Id="Fe.Plugins" Title="Plugins &amp; Extensions" Level="1" AllowAdvertise="yes" Display="expand" Description="Plugins and extensions for both $(var.WiresharkName) and TShark.">
      <!-- XXX - Cleanup plugins directory on uninstall  -->
      <Feature Id="Fe.Plugins.Dissector" Title="Dissector Plugins" Level="1" AllowAdvertise="yes" Display="expand" Description="Additional protocol dissectors.">
        <ComponentGroupRef Id="CG.Plugins.Dissector" />
      </Feature>
      <Feature Id="Fe.Plugins.TreeStat" Title="Tree Statistics Plugin" Level="1" AllowAdvertise="yes" Display="expand" Description="Extended statistics.">
        <ComponentGroupRef Id="CG.Plugins.TreeStat" />
      </Feature>
      <Feature Id="Fe.Plugins.Mate" Title="Mate - Meta Analysis and Tracing Engine" Level="1" AllowAdvertise="yes" Display="expand" Description="Plugin - Meta Analysis and Tracing Engine (Experimental).">
        <ComponentGroupRef Id="CG.Plugins.Mate" />
      </Feature>
      <Feature Id="Fe.Plugins.Transum" Title="TRANSUM - Network and application performance analysis" Level="1" AllowAdvertise="yes" Display="expand" Description="Plugin - Network and application performance analysis (Experimental).">
        <ComponentGroupRef Id="CG.Plugins.Transum" />
      </Feature>
      <Feature Id="Fe.Plugins.Wiretap" Title="Wiretap Plugins" Level="1" AllowAdvertise="yes" Display="expand" Description="Additional file formats support.">
        <ComponentGroupRef Id="CG.Plugins.Wiretap" />
      </Feature>
      <Feature Id="Fe.Plugins.Codecs" Title="Codec Plugins" Level="1" AllowAdvertise="yes" Display="expand" Description="Codecs playback support.">
        <ComponentGroupRef Id="CG.Plugins.Codecs" />
      </Feature>
      <Feature Id="Fe.Plugins.ConfigurationProfiles" Title="Configuration Profiles" Level="1" AllowAdvertise="yes" Display="expand" Description="Configuration Profiles">
        <!-- XXX - Cleanup configuration profiles directory on uninstall  -->
        <ComponentGroupRef Id="CG.Plugins.ConfigurationProfiles" />
      </Feature>
      <?ifdef SMI_DIR?>
        <Feature Id="Fe.Plugins.SNMP" Title="SNMP MIBs" Level="1" AllowAdvertise="yes" Display="expand" Description="SNMP MIBs for better SNMP dissection.">
          <ComponentGroupRef Id="CG.Plugins.SNMP" />
        </Feature>
      <?endif?>
    </Feature>
    <Feature Id="Fe.Tools" Title="Tools" Level="1" AllowAdvertise="yes" Display="expand" Description="Additional command line based tools.">
      <Feature Id="Fe.Tools.Editcap" Title="Editcap" Level="1" AllowAdvertise="yes" Display="expand" Description="Copy packets to a new file, optionally trimmming packets, omitting them, or saving to a different format.">
        <ComponentGroupRef Id="CG.Tools.Editcap" />
      </Feature>
      <Feature Id="Fe.Tools.Text2Pcap" Title="Text2Pcap" Level="1" AllowAdvertise="yes" Display="expand" Description="Read an ASCII hex dump and write the data into a libpcap-style capture file.">
        <ComponentGroupRef Id="CG.Tools.Text2Pcap" />
      </Feature>
      <Feature Id="Fe.Tools.Mergecap" Title="Mergecap" Level="1" AllowAdvertise="yes" Display="expand" Description="Combine multiple saved capture files into a single output file.">
        <ComponentGroupRef Id="CG.Tools.Mergecap" />
      </Feature>
      <Feature Id="Fe.Tools.Reordercap" Title="Reordercap" Level="1" AllowAdvertise="yes" Display="expand" Description="Copy packets to a new file, sorted by time.">
        <ComponentGroupRef Id="CG.Tools.Reordercap" />
      </Feature>
      <Feature Id="Fe.Tools.Capinfos" Title="Capinfos" Level="1" AllowAdvertise="yes" Display="expand" Description="Print information about capture files.">
        <ComponentGroupRef Id="CG.Tools.Capinfos" />
      </Feature>
      <Feature Id="Fe.Tools.Captype" Title="Captype" Level="1" AllowAdvertise="yes" Display="expand" Description="Print the types of capture files.">
        <ComponentGroupRef Id="CG.Tools.Captype" />
      </Feature>
      <Feature Id="Fe.Tools.Rawshark" Title="Rawshark" Level="1" AllowAdvertise="yes" Display="expand" Description="Raw packet filter.">
        <ComponentGroupRef Id="CG.Tools.Rawshark" />
      </Feature>
      <Feature Id="Fe.Tools.Sharkd" Title="Sharkd" Level="1" AllowAdvertise="yes" Display="expand" Description="Packet dissection daemon.">
        <ComponentGroupRef Id="CG.Tools.Sharkd" />
      </Feature>
      <?ifdef MMDBRESOLVE_EXE?>
      <Feature Id="Fe.Tools.MMDBResolve" Title="MMDBResolve" Level="1" AllowAdvertise="yes" Display="expand" Description="IP geolocation database resolution.">
        <ComponentGroupRef Id="CG.Tools.MMDBResolve" />
      </Feature>
      <?endif?>
      <Feature Id="Fe.Tools.Androiddump" Title="Androiddump" Level="2" AllowAdvertise="yes" Display="expand" Description="Provide capture interfaces from Android devices.">
        <ComponentGroupRef Id="CG.Tools.Androiddump" />
      </Feature>
      <Feature Id="Fe.Tools.Randpktdump" Title="Randpktdump" Level="2" AllowAdvertise="yes" Display="expand" Description="Provide random packet generator.">
        <ComponentGroupRef Id="CG.Tools.Randpktdump" />
      </Feature>
      <Feature Id="Fe.Tools.Etwdump" Title="Etwdump" Level="2" AllowAdvertise="yes" Display="expand" Description="Provide ETW reader.">
        <ComponentGroupRef Id="CG.Tools.Etwdump" />
      </Feature>
      <Feature Id="Fe.Tools.Sshdump" Title="Sshdump" Level="1" AllowAdvertise="yes" Display="expand" Description="Provide remote capture through SSH.">
        <ComponentGroupRef Id="CG.Tools.Sshdump" />
      </Feature>
      <Feature Id="Fe.Tools.Ciscodump" Title="Ciscodump" Level="1" AllowAdvertise="yes" Display="expand" Description="Provide capture interface from a remote Cisco router through SSH.">
        <ComponentGroupRef Id="CG.Tools.Ciscodump" />
      </Feature>
      <Feature Id="Fe.Tools.Udpdump" Title="Udpdump" Level="1" AllowAdvertise="yes" Display="expand" Description="Provide capture interface that gets UDP packets from network devices.">
        <ComponentGroupRef Id="CG.Tools.Udpdump" />
      </Feature>
      <Feature Id="Fe.Tools.Wifidump" Title="Wifidump" Level="1" AllowAdvertise="yes" Display="expand" Description="Provide remote capture of Wi-Fi frames through SSH.">
        <ComponentGroupRef Id="CG.Tools.Wifidump" />
      </Feature>
    </Feature>
    <?ifdef DOC_DIR?>
      <Feature Id="Fe.Documentation" Title="Documentation" Level="1" AllowAdvertise="yes" Display="expand" Description="Install an offline copy of the User's Guide.">
        <ComponentGroupRef Id="CG.Documentation" />
      </Feature>
    <?endif?>
    <Feature Id="VCRedist" Title="Visual C++ Runtime" AllowAdvertise="no" Display="hidden" Level="1">
      <MergeRef Id="VCRedist"/>
    </Feature>
  </Fragment>
</Include>
