use abscissa_core::clap::Parser;
use abscissa_core::{Command, Runnable};
use crate::commands::query::channel_client::QueryChannelClientCmd;
use crate::commands::query::channel_ends::QueryChannelEndsCmd;
use crate::commands::query::channels::QueryChannelsCmd;
use crate::commands::query::packet::QueryPacketCmds;
mod channel;
mod channel_client;
mod channel_ends;
mod channels;
mod client;
mod clients;
mod connection;
mod connections;
mod packet;
mod transfer;
mod tx;
#[derive(Command, Debug, Parser, Runnable)]
pub enum QueryCmd {
#[clap(subcommand)]
Client(QueryClientCmds),
Clients(clients::QueryAllClientsCmd),
#[clap(subcommand)]
Connection(QueryConnectionCmds),
Connections(connections::QueryConnectionsCmd),
#[clap(subcommand)]
Channel(QueryChannelCmds),
Channels(QueryChannelsCmd),
#[clap(subcommand)]
Packet(QueryPacketCmds),
#[clap(subcommand)]
Tx(tx::QueryTxCmd),
#[clap(subcommand)]
Transfer(transfer::TransferCmd),
}
#[derive(Command, Debug, Parser, Runnable)]
pub enum QueryClientCmds {
State(client::QueryClientStateCmd),
Consensus(client::QueryClientConsensusCmd),
Header(client::QueryClientHeaderCmd),
Connections(client::QueryClientConnectionsCmd),
}
#[derive(Command, Debug, Parser, Runnable)]
pub enum QueryConnectionCmds {
End(connection::QueryConnectionEndCmd),
Channels(connection::QueryConnectionChannelsCmd),
}
#[derive(Command, Debug, Parser, Runnable)]
pub enum QueryChannelCmds {
Client(QueryChannelClientCmd),
End(channel::QueryChannelEndCmd),
Ends(QueryChannelEndsCmd),
}