ALPM
view release on metacpan or search on metacpan
BOOT:
av_push(get_av("ALPM::PackageFree::ISA", GV_ADD), newSVpv("ALPM::Package", 0));
av_push(get_av("ALPM::DB::Sync::ISA", GV_ADD), newSVpv("ALPM::DB", 0));
av_push(get_av("ALPM::DB::Local::ISA", GV_ADD), newSVpv("ALPM::DB", 0));
MODULE = ALPM PACKAGE = ALPM::PackageFree
void
DESTROY(self)
ALPM_PackageFree self;
PPCODE:
alpm_pkg_free(self);
#---------------------
# PUBLIC ALPM METHODS
#---------------------
MODULE = ALPM PACKAGE = ALPM
ALPM_Handle
new(class, root, dbpath)
if(ret == -1){
croak("ALPM Error: failed to release ALPM handle");
}
# errno is only inside a handle, which was just released...
void
caps(class)
SV * class
PREINIT:
enum alpm_caps c;
PPCODE:
c = alpm_capabilities();
if(c & ALPM_CAPABILITY_NLS){
XPUSHs(sv_2mortal(newSVpv("nls", 0)));
}
if(c & ALPM_CAPABILITY_DOWNLOADER){
XPUSHs(sv_2mortal(newSVpv("download", 0)));
}
if(c & ALPM_CAPABILITY_SIGNATURES){
XPUSHs(sv_2mortal(newSVpv("signatures", 0)));
}
alpm_list_free(dbs);
OUTPUT:
RETVAL
void
check_conflicts(self, ...)
ALPM_Handle self
PREINIT:
alpm_list_t *L, *clist;
int i;
PPCODE:
i = 1;
STACK2LIST(i, L, p2c_pkg);
L = clist = alpm_checkconflicts(self, L);
LIST2STACK(clist, c2p_conflict);
ZAPLIST(L, freeconflict);
SV *
fetch_pkgurl(self, url)
ALPM_Handle self
const char * url
# PUBLIC DATABASE METHODS
#------------------------
MODULE = ALPM PACKAGE = ALPM::DB
void
pkgs(db)
ALPM_DB db
PREINIT:
alpm_list_t *pkgs;
PPCODE:
pkgs = alpm_db_get_pkgcache(db);
# If pkgs is NULL, we can't report the error because errno is in the handle object.
LIST2STACK(pkgs, c2p_pkg);
# groups returns a list of pairs. Each pair is a group name followed by
# an array ref of packages belonging to the group.
void
groups(db)
ALPM_DB db
PREINIT:
alpm_list_t *grps;
alpm_group_t *grp;
AV *pkgarr;
PPCODE:
grps = alpm_db_get_groupcache(db);
while(grps){
grp = grps->data;
XPUSHs(sv_2mortal(newSVpv(grp->name, strlen(grp->name))));
pkgarr = list2av(grp->packages, c2p_pkg);
XPUSHs(sv_2mortal(newRV_noinc((SV*)pkgarr)));
grps = alpm_list_next(grps);
}
const char *
OUTPUT:
RETVAL
void
find_group(db, name)
ALPM_DB db
const char *name
PREINIT:
alpm_group_t *grp;
alpm_list_t *pkgs;
PPCODE:
grp = alpm_db_get_group(db, name);
if(grp){
pkgs = grp->packages;
LIST2STACK(pkgs, c2p_pkg);
}
void
search(db, ...)
ALPM_DB db
PREINIT:
alpm_list_t *L, *terms, *fnd;
int i;
PPCODE:
i = 1;
STACK2LIST(i, terms, p2c_str);
L = fnd = alpm_db_search(db, terms);
ZAPLIST(terms, free);
LIST2STACK(fnd, c2p_pkg);
alpm_list_free(L);
#-----------------------------
# PUBLIC LOCAL DATABASE METHODS
#-----------------------------
negative_is_error
alpm_db_remove_server(self, url)
ALPM_SyncDB self
const char *url
void alpm_db_get_servers(self)
ALPM_SyncDB self
PREINIT:
alpm_list_t *srvs;
PPCODE:
srvs = alpm_db_get_servers(self);
LIST2STACK(srvs, c2p_str);
negative_is_error
alpm_db_set_servers(self, ...)
ALPM_SyncDB self
PREINIT:
alpm_list_t *L;
int i;
CODE:
xs/Options.xs view on Meta::CPAN
alpm_option_set_arch
alpm_option_set_gpgdir
# String List Options
void
alpm_option_get_cachedirs(self)
ALPM_Handle self
PREINIT:
alpm_list_t *lst;
PPCODE:
lst = alpm_option_get_cachedirs(self);
LIST2STACK(lst, c2p_str);
void
alpm_option_get_noupgrades(self)
ALPM_Handle self
PREINIT:
alpm_list_t *lst;
PPCODE:
lst = alpm_option_get_noupgrades(self);
LIST2STACK(lst, c2p_str);
void
alpm_option_get_noextracts(self)
ALPM_Handle self
PREINIT:
alpm_list_t *lst;
PPCODE:
lst = alpm_option_get_noextracts(self);
LIST2STACK(lst, c2p_str);
void
alpm_option_get_ignorepkgs(self)
ALPM_Handle self
PREINIT:
alpm_list_t *lst;
PPCODE:
lst = alpm_option_get_ignorepkgs(self);
LIST2STACK(lst, c2p_str);
void
alpm_option_get_ignoregroups(self)
ALPM_Handle self
PREINIT:
alpm_list_t *lst;
PPCODE:
lst = alpm_option_get_ignoregroups(self);
LIST2STACK(lst, c2p_str);
SetOption
option_stringlist_add(self, add_string)
ALPM_Handle self
const char *add_string
INTERFACE:
alpm_option_add_noupgrade
alpm_option_add_noextract
xs/Options.xs view on Meta::CPAN
SetOption
alpm_option_remove_assumeinstalled(self, dep)
ALPM_Handle self
ALPM_Depend dep
void
alpm_option_get_assumeinstalled(self)
ALPM_Handle self
PREINIT:
alpm_list_t *l;
PPCODE:
l = alpm_option_get_assumeinstalled(self);
LIST2STACK(l, c2p_depend);
SetOption
alpm_option_set_assumeinstalled(self, ...)
ALPM_Handle self
PREINIT:
alpm_list_t *lst = NULL;
int i = 1;
CODE:
xs/Options.xs view on Meta::CPAN
OUTPUT:
RETVAL
# Ditto.
void
syncdbs(self)
ALPM_Handle self
PREINIT:
alpm_list_t *lst;
PPCODE:
lst = alpm_get_syncdbs(self);
if(lst == NULL && alpm_errno(self)) alpm_croak(self);
LIST2STACK(lst, c2p_syncdb);
ALPM_SigLevel
get_defsiglvl(self)
ALPM_Handle self
CODE:
RETVAL = alpm_option_get_default_siglevel(self);
OUTPUT:
( run in 0.589 second using v1.01-cache-2.11-cpan-71847e10f99 )