summaryrefslogtreecommitdiff
path: root/src/packages.rs
blob: 7ac1736e1e3028763da9d8c87cf14234dfae3b9d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use serde::{Deserialize, Serialize};

use crate::error::Result;

pub mod pacman;
pub mod portage;

#[derive(Debug, Serialize, Deserialize)]
pub struct Package {
    pub id: String,
    pub version: String,
    pub explicit: bool
}

pub trait PackageManager {
    fn get_installed(&self) -> Result<Vec<Package>>;

    fn install(&self, pkgs: Vec<Package>);
}