summaryrefslogblamecommitdiff
path: root/src/packages.rs
blob: 5ee56641fcebea0ea4aeb2fbd5692a53d82934eb (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11

                                    

                         
               
                




                                        
                       


                          
                                                    
 
                                                        
 
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>) -> Result<()>;
}