Skip to content
Permalink
Browse files

WIP: Move cregistry snapshot functions

move all methods dealing with snapshot from entry.c to snapshot.c,
to better modularize
  • Loading branch information
umeshksingla authored and neverpanic committed Aug 12, 2017
1 parent e487ddb commit ec6623c83173eb725ea5044e497e51d069994035
Showing with 75 additions and 35 deletions.
  1. +0 −35 src/cregistry/entry.h
  2. +75 −0 src/cregistry/snapshot.h
@@ -42,25 +42,6 @@ typedef struct {
char* proc; /* name of Tcl proc, if using Tcl */
} reg_entry;

typedef struct {
char* variant_name;
char* variant_sign;
} variant;

typedef struct {
char* name;
int requested;
char* state;
variant* variants;
} port;

typedef struct {
char* id;
char* note;
port* ports;
char* proc; /* name of Tcl proc, if using Tcl */
} reg_snapshot;

reg_entry* reg_entry_create(reg_registry* reg, char* name, char* version,
char* revision, char* variants, char* epoch, reg_error* errPtr);

@@ -113,22 +94,6 @@ int reg_entry_dependencies(reg_entry* entry, reg_entry*** dependencies,
reg_error* errPtr);
int reg_entry_depends(reg_entry* entry, char* name, reg_error* errPtr);

reg_entry* reg_snapshot_create(reg_registry* reg, char* note,
reg_error* errPtr);
int snapshot_store_ports(reg_registry* reg, reg_entry* entry,
reg_error* errPtr);
int snapshot_store_port_variants(reg_registry* reg, reg_entry* port_entry,
int snapshot_ports_id, reg_error* errPtr);

int get_parsed_variants(char* variants_str, variant* all_variants,
char* delim, int* variant_count);

char* reg_snapshot_get_id(reg_registry* reg, reg_error* errPtr);
int reg_snapshot_port_variants_get(reg_registry* reg,
sqlite_int64 snapshot_port_id, variant** variants, reg_error* errPtr);
int reg_snapshot_get(reg_registry* reg, char* id,
reg_snapshot* snapshot, reg_error* errPtr);

int reg_all_open_entries(reg_registry* reg, reg_entry*** entries);

#endif /* _CENTRY_H */
@@ -0,0 +1,75 @@
/*
* snapshot.h
* vim:tw=80:expandtab
*
* Copyright (c) 2017 The MacPorts Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _CSNAPSHOT_H
#define _CSNAPSHOT_H

#if HAVE_CONFIG_H
#include <config.h>
#endif

#include "registry.h"

#include <sqlite3.h>

typedef struct {
char* variant_name;
char* variant_sign;
} variant;

typedef struct {
char* name;g
int requested;
char* state;
variant* variants;
} port;

typedef struct {
char* id;
char* note;
port* ports;
reg_registry* reg; /* associated registry */
char* proc; /* name of Tcl proc, if using Tcl */
} reg_snapshot;

int get_parsed_variants(char* variants_str, variant* all_variants,
char* delim, int* variant_count);

reg_entry* reg_snapshot_create(reg_registry* reg, char* note,
reg_error* errPtr);
char* reg_snapshot_get_id(reg_registry* reg, reg_error* errPtr);
int reg_snapshot_get(reg_registry* reg, char* id,
reg_snapshot* snapshot, reg_error* errPtr);
int reg_snapshot_port_variants_get(reg_registry* reg,
sqlite_int64 snapshot_port_id, variant** variants, reg_error* errPtr);

int snapshot_store_ports(reg_registry* reg, reg_entry* entry,
reg_error* errPtr);
int snapshot_store_port_variants(reg_registry* reg, reg_entry* port_entry,
int snapshot_ports_id, reg_error* errPtr);

#endif /* _CSNAPSHOT_H */

0 comments on commit ec6623c

Please sign in to comment.
You can’t perform that action at this time.