Commit b72b5783 authored by Vitaly Lipatov's avatar Vitaly Lipatov

rename Jrn to Storage family, add Makefile.am for build test

parent 4ff8b8fa
......@@ -26,7 +26,7 @@
#include "stdio.h"
#include "string.h"
#include "Jrn.h"
#include "Storages.h"
char* itoa(int val, int base)
{
......@@ -48,14 +48,14 @@ void testTable(void)
{
char *chr=new char[2];
char *val=new char[2];
StorageTable *t;
t = new StorageTable("table.test", 6000, 0);
TableStorage *t;
t = new TableStorage("table.test", 6000, 0);
int i;
printf("testTable\nsize = %d\n",t->size);
for(i=0;i<t->size+5;i++)
{
chr[0]=i%256;
if(t->AddRow(chr,chr)==1) printf("elem number %d - no space in StorageTable\n",i);
if(t->AddRow(chr,chr)==1) printf("elem number %d - no space in TableStorage\n",i);
}
printf("elements with values=keys added\n");
for(i=40;i<60;i++)
......@@ -81,11 +81,11 @@ void testTable(void)
void testJournal1(void)
{
CycleJournal *j;
CycleStorage *j;
int i;
char *str=new char[6];
printf("journal test 1\n");
j = new CycleJournal("journal.test",2000000,0);
j = new CycleStorage("journal.test",2000000,0);
printf("size = %d\n",j->size);
for(i=1;i<30000;i++)
{
......@@ -109,17 +109,17 @@ void testJournal1(void)
j->ViewRows(0,20);
printf("\nthe same after reopen:\n");
delete j;
j = new CycleJournal("journal.test",2000000,0);
j = new CycleStorage("journal.test",2000000,0);
j->ViewRows(0,20);
printf("\n");
}
void testJournal2(void)
{
CycleJournal *j;
CycleStorage *j;
int i,k;
char *str=new char[4];
j = new CycleJournal("journal.test",2000000,0);
j = new CycleStorage("journal.test",2000000,0);
printf("journal test 2 - checking number of iterations to find head/tail\n");
printf("size = %d\n\n",j->size);
printf("iterations = %d\n",j->iter);
......@@ -131,7 +131,7 @@ void testJournal2(void)
j->AddRow(str);
}
delete j;
j = new CycleJournal("journal.test",2000000,0);
j = new CycleStorage("journal.test",2000000,0);
printf("iterations = %d\n",j->iter);
}
printf("\n");
......
############################################################################
# This file is part of the UniSet library #
############################################################################
bin_PROGRAMS = jrntest
jrntest_SOURCES = JrnTest.cc
jrntest_LDADD = $(top_builddir)/lib/libUniSet.la
jrntest_CPPFLAGS = -I$(top_builddir)/include
include $(top_builddir)/conf/setting.mk
# Makefile.in generated by automake 1.11 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
############################################################################
# This file is part of the UniSet library #
############################################################################
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = jrntest$(EXEEXT)
subdir = Utilities/JrnTests
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am_jrntest_OBJECTS = jrntest-JrnTest.$(OBJEXT)
jrntest_OBJECTS = $(am_jrntest_OBJECTS)
jrntest_DEPENDENCIES = $(top_builddir)/lib/libUniSet.la
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
$(LDFLAGS) -o $@
SOURCES = $(jrntest_SOURCES)
DIST_SOURCES = $(jrntest_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
COMCPP_CFLAGS = @COMCPP_CFLAGS@
COMCPP_LIBS = @COMCPP_LIBS@
COMEDI_CFLAGS = @COMEDI_CFLAGS@
COMEDI_LIBS = @COMEDI_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DOXYGEN = @DOXYGEN@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
IDL = @IDL@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBVER = @LIBVER@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OMNI_CFLAGS = @OMNI_CFLAGS@
OMNI_LIBS = @OMNI_LIBS@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SIGC_CFLAGS = @SIGC_CFLAGS@
SIGC_LIBS = @SIGC_LIBS@
STRIP = @STRIP@
VERSION = @VERSION@
XML_CFLAGS = @XML_CFLAGS@
XML_LIBS = @XML_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dox = @dox@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
jrntest_SOURCES = JrnTest.cc
jrntest_LDADD = $(top_builddir)/lib/libUniSet.la
jrntest_CPPFLAGS = -I$(top_builddir)/include
all: all-am
.SUFFIXES:
.SUFFIXES: .cc .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Utilities/JrnTests/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --gnu Utilities/JrnTests/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p || test -f $$p1; \
then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done
uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' `; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files
clean-binPROGRAMS:
@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
echo " rm -f" $$list; \
rm -f $$list || exit $$?; \
test -n "$(EXEEXT)" || exit 0; \
list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
echo " rm -f" $$list; \
rm -f $$list
jrntest$(EXEEXT): $(jrntest_OBJECTS) $(jrntest_DEPENDENCIES)
@rm -f jrntest$(EXEEXT)
$(CXXLINK) $(jrntest_OBJECTS) $(jrntest_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/jrntest-JrnTest.Po@am__quote@
.cc.o:
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
.cc.obj:
@am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cc.lo:
@am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
jrntest-JrnTest.o: JrnTest.cc
@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(jrntest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT jrntest-JrnTest.o -MD -MP -MF $(DEPDIR)/jrntest-JrnTest.Tpo -c -o jrntest-JrnTest.o `test -f 'JrnTest.cc' || echo '$(srcdir)/'`JrnTest.cc
@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/jrntest-JrnTest.Tpo $(DEPDIR)/jrntest-JrnTest.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='JrnTest.cc' object='jrntest-JrnTest.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(jrntest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o jrntest-JrnTest.o `test -f 'JrnTest.cc' || echo '$(srcdir)/'`JrnTest.cc
jrntest-JrnTest.obj: JrnTest.cc
@am__fastdepCXX_TRUE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(jrntest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT jrntest-JrnTest.obj -MD -MP -MF $(DEPDIR)/jrntest-JrnTest.Tpo -c -o jrntest-JrnTest.obj `if test -f 'JrnTest.cc'; then $(CYGPATH_W) 'JrnTest.cc'; else $(CYGPATH_W) '$(srcdir)/JrnTest.cc'; fi`
@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/jrntest-JrnTest.Tpo $(DEPDIR)/jrntest-JrnTest.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='JrnTest.cc' object='jrntest-JrnTest.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(jrntest_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o jrntest-JrnTest.obj `if test -f 'JrnTest.cc'; then $(CYGPATH_W) 'JrnTest.cc'; else $(CYGPATH_W) '$(srcdir)/JrnTest.cc'; fi`
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
set x; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
for dir in "$(DESTDIR)$(bindir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am:
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am: install-binPROGRAMS
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS
.MAKE: install-am install-strip
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
clean-generic clean-libtool ctags distclean distclean-compile \
distclean-generic distclean-libtool distclean-tags distdir dvi \
dvi-am html html-am info info-am install install-am \
install-binPROGRAMS install-data install-data-am install-dvi \
install-dvi-am install-exec install-exec-am install-html \
install-html-am install-info install-info-am install-man \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
pdf pdf-am ps ps-am tags uninstall uninstall-am \
uninstall-binPROGRAMS
include $(top_builddir)/conf/setting.mk
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
......@@ -3,7 +3,7 @@
############################################################################
UTILS = scripts Admin NullController SViewer-text \
InfoServer SMonit MBTester codegen
InfoServer SMonit MBTester codegen JrnTests
#MapSourceParser ClassGen
if DISABLE_MYSQL
......
......@@ -67,7 +67,7 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = scripts Admin NullController SViewer-text InfoServer \
SMonit MBTester codegen DBServer-MySQL
SMonit MBTester codegen JrnTests DBServer-MySQL
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
dir0=`pwd`; \
......@@ -226,7 +226,7 @@ top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
UTILS = scripts Admin NullController SViewer-text \
InfoServer SMonit MBTester codegen
InfoServer SMonit MBTester codegen JrnTests
@DISABLE_MYSQL_FALSE@SUBDIRS = ${UTILS} DBServer-MySQL
#MapSourceParser ClassGen
......
......@@ -18579,7 +18579,7 @@ fi
done
ac_config_files="$ac_config_files Makefile libUniSet.pc lib/Makefile IDL/Makefile IDL/UniSetTypes/Makefile IDL/Processes/Makefile IDL/Services/Makefile src/Communications/Makefile src/Communications/Modbus/Makefile src/IOs/Makefile src/Interfaces/Makefile src/ObjectRepository/Makefile src/Processes/Makefile src/Services/Makefile src/Threads/Makefile src/Timers/Makefile src/Various/Makefile src/Makefile include/Makefile include/modbus/Makefile include/IOs/Makefile docs/Makefile docs/UniSetDox.cfg docs/UniSetDoxDevel.cfg Utilities/Makefile Utilities/scripts/Makefile Utilities/Admin/Makefile Utilities/NullController/Makefile Utilities/SViewer-text/Makefile Utilities/SMonit/Makefile Utilities/InfoServer/Makefile Utilities/MBTester/Makefile Utilities/DBServer-MySQL/Makefile Utilities/codegen/Makefile Utilities/codegen/uniset-codegen Utilities/codegen/tests/Makefile extensions/Makefile extensions/libUniSetExtensions.pc extensions/lib/Makefile extensions/include/Makefile extensions/IOControl/Makefile extensions/IOControl/libUniSetIOControl.pc extensions/RTUExchange/Makefile extensions/RTUExchange/libUniSetRTU.pc extensions/UDPExchange/Makefile extensions/UDPExchange/libUniSetUDP.pc extensions/ModbusSlave/Makefile extensions/ModbusSlave/libUniSetMBSlave.pc extensions/MBTCPMaster/Makefile extensions/MBTCPMaster/libUniSetMBTCPMaster.pc extensions/LogicProcessor/Makefile extensions/LogicProcessor/libUniSetLogicProcessor.pc extensions/SMViewer/Makefile extensions/SharedMemory/Makefile extensions/SharedMemory/libUniSetSharedMemory.pc extensions/SharedMemoryPlus/Makefile"
ac_config_files="$ac_config_files Makefile libUniSet.pc lib/Makefile IDL/Makefile IDL/UniSetTypes/Makefile IDL/Processes/Makefile IDL/Services/Makefile src/Communications/Makefile src/Communications/Modbus/Makefile src/IOs/Makefile src/Interfaces/Makefile src/ObjectRepository/Makefile src/Processes/Makefile src/Services/Makefile src/Threads/Makefile src/Timers/Makefile src/Various/Makefile src/Makefile include/Makefile include/modbus/Makefile include/IOs/Makefile docs/Makefile docs/UniSetDox.cfg docs/UniSetDoxDevel.cfg Utilities/Makefile Utilities/scripts/Makefile Utilities/Admin/Makefile Utilities/NullController/Makefile Utilities/SViewer-text/Makefile Utilities/SMonit/Makefile Utilities/InfoServer/Makefile Utilities/MBTester/Makefile Utilities/DBServer-MySQL/Makefile Utilities/JrnTests/Makefile Utilities/codegen/Makefile Utilities/codegen/uniset-codegen Utilities/codegen/tests/Makefile extensions/Makefile extensions/libUniSetExtensions.pc extensions/lib/Makefile extensions/include/Makefile extensions/IOControl/Makefile extensions/IOControl/libUniSetIOControl.pc extensions/RTUExchange/Makefile extensions/RTUExchange/libUniSetRTU.pc extensions/UDPExchange/Makefile extensions/UDPExchange/libUniSetUDP.pc extensions/ModbusSlave/Makefile extensions/ModbusSlave/libUniSetMBSlave.pc extensions/MBTCPMaster/Makefile extensions/MBTCPMaster/libUniSetMBTCPMaster.pc extensions/LogicProcessor/Makefile extensions/LogicProcessor/libUniSetLogicProcessor.pc extensions/SMViewer/Makefile extensions/SharedMemory/Makefile extensions/SharedMemory/libUniSetSharedMemory.pc extensions/SharedMemoryPlus/Makefile"
cat >confcache <<\_ACEOF
......@@ -19638,6 +19638,7 @@ do
"Utilities/InfoServer/Makefile") CONFIG_FILES="$CONFIG_FILES Utilities/InfoServer/Makefile" ;;
"Utilities/MBTester/Makefile") CONFIG_FILES="$CONFIG_FILES Utilities/MBTester/Makefile" ;;
"Utilities/DBServer-MySQL/Makefile") CONFIG_FILES="$CONFIG_FILES Utilities/DBServer-MySQL/Makefile" ;;
"Utilities/JrnTests/Makefile") CONFIG_FILES="$CONFIG_FILES Utilities/JrnTests/Makefile" ;;
"Utilities/codegen/Makefile") CONFIG_FILES="$CONFIG_FILES Utilities/codegen/Makefile" ;;
"Utilities/codegen/uniset-codegen") CONFIG_FILES="$CONFIG_FILES Utilities/codegen/uniset-codegen" ;;
"Utilities/codegen/tests/Makefile") CONFIG_FILES="$CONFIG_FILES Utilities/codegen/tests/Makefile" ;;
......
......@@ -174,6 +174,7 @@ AC_CONFIG_FILES([Makefile
Utilities/InfoServer/Makefile
Utilities/MBTester/Makefile
Utilities/DBServer-MySQL/Makefile
Utilities/JrnTests/Makefile
Utilities/codegen/Makefile
Utilities/codegen/uniset-codegen
Utilities/codegen/tests/Makefile
......
/* This file is part of the UniSet project
* Copyright (c) 2002 Free Software Foundation, Inc.
* Copyright (c) 2002 Ivan Donchevskiy
* Copyright (c) 2009 Free Software Foundation, Inc.
* Copyright (c) 2009 Ivan Donchevskiy
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -24,51 +24,56 @@
*/
// --------------------------------------------------------------------------
#include "stdio.h"
#include "string.h"
#ifndef Storages_H_
#define Storages_H_
#include <stdio.h>
#include <string.h>
#define str_size 80
#define key_size 20
#define val_size 40
struct StorageTableElem
struct TableStorageElem
{
char key[key_size];
char value[val_size];
} __attribute__((__packed__));
struct CycleJournalElem
struct CycleStorageElem
{
char str[str_size];
int status;
} __attribute__((__packed__));
class StorageTable
class TableStorage
{
FILE *file;
int seekpos;
public:
int size;
StorageTable();
StorageTable(const char* name, int sz, int seek);
~StorageTable();
TableStorage();
TableStorage(const char* name, int sz, int seek);
~TableStorage();
int AddRow(char* key, char* val);
int DelRow(char* key);
char* FindKeyValue(char* key, char* val);
};
class CycleJournal
class CycleStorage
{
FILE *file;
int seekpos;
int head,tail;
public:
int size, iter;
CycleJournal();
CycleJournal(const char* name, int sz, int seek);
~CycleJournal();
CycleStorage();
CycleStorage(const char* name, int sz, int seek);
~CycleStorage();
int AddRow(char* str);
int DelRow(int row);
int DelAllRows(void);
int ViewRows(int beg, int num);
};
#endif
......@@ -76,7 +76,7 @@ class UniSetObject:
virtual CORBA::Boolean exist();
virtual char* getName(){return (char*)myname.c_str();}
virtual UniSetTypes::ObjectId getId(){ return myid; }
virtual UniSetTypes::ObjectType getType() { return "UniSetObject"; }
virtual UniSetTypes::ObjectType getType() { static UniSetTypes::ObjectType ot("UniSetObject"); return ot; }
virtual UniSetTypes::SimpleInfo* getInfo();
friend std::ostream& operator<<(std::ostream& os, UniSetObject& obj );
......
......@@ -24,126 +24,14 @@
*/
// --------------------------------------------------------------------------
#include "stdio.h"
#include "string.h"
#include "Jrn.h"
#include <stdio.h>
#include <string.h>
StorageTable::StorageTable()
{
file = fopen("tbl", "r+");
if(file==NULL)
{
file = fopen("tbl","w");
StorageTableElem *t = new StorageTableElem();
for(int i=0;i<100;i++) fwrite(t,sizeof(*t),1,file);
fclose(file);
file = fopen("tbl","r+");
}
size=100;
seekpos=0;
}
StorageTable::StorageTable(const char* name, int sz, int seek)
{
file = fopen(name, "r+");
size=sz/sizeof(StorageTableElem);
if(file==NULL)
{
file = fopen(name,"w");
StorageTableElem *t = new StorageTableElem();
for(int i=0;i<size;i++) fwrite(t,sizeof(*t),1,file);
fclose(file);
file = fopen(name,"r+");
seekpos=0;
}
else seekpos=seek;
}
StorageTable::~StorageTable()
{
fclose(file);
}
int StorageTable::AddRow(char* key, char* value)
{
StorageTableElem *tbl = new StorageTableElem();
int i;
if(file!=NULL)
{
fseek(file,seekpos,0);
for(i=0;i<size;i++)
{
fread(tbl,sizeof(*tbl),1,file);
if(!strcmp(tbl->key,key))
{
strcpy(tbl->value,value);
fseek(file,seekpos+i*sizeof(*tbl),0);
fwrite(tbl,sizeof(*tbl),1,file);
return 0;
}
}
fseek(file,seekpos,0);
for(i=0;i<size;i++)
{
fread(tbl,sizeof(*tbl),1,file);
if(*(tbl->key)==0)
{
strcpy(tbl->key,key);
strcpy(tbl->value,value);
fseek(file,seekpos+i*sizeof(*tbl),0);
fwrite(tbl,sizeof(*tbl),1,file);
return 0;
}
}
}
return 1;
}
int StorageTable::DelRow(char* key)
{
StorageTableElem *tbl = new StorageTableElem();
int i;
if(file!=NULL)
{
fseek(file,seekpos,0);
for(i=0;i<size;i++)
{
fread(tbl,(key_size+val_size),1,file);
if(!strcmp(tbl->key,key))
{
tbl->key[0]=0;
fseek(file,seekpos+i*(key_size+val_size),0);
fwrite(tbl,(key_size+val_size),1,file);
return 0;
}
}
}
return 1;
}
char* StorageTable::FindKeyValue(char* key, char* val)
{
StorageTableElem *tbl = new StorageTableElem();
int i;
if(file!=NULL)
{
fseek(file,seekpos,0);
for(i=0;i<size;i++)
{
fread(tbl,(key_size+val_size),1,file);
if(!strcmp(tbl->key,key))
{
strcpy(val,tbl->value);
return val;
}
}
}
return 0;
}
#include "Storages.h"
CycleJournal::CycleJournal()
CycleStorage::CycleStorage()
{
CycleJournalElem *jrn = new CycleJournalElem();
CycleStorageElem *jrn = new CycleStorageElem();
file = fopen("jrn", "r+");
size=100;
seekpos=0;
......@@ -152,7 +40,7 @@ CycleJournal::CycleJournal()
if(file==NULL)
{
file = fopen("jrn","w");
CycleJournalElem *t = new CycleJournalElem();
CycleStorageElem *t = new CycleStorageElem();
for(int i=0;i<100;i++) fwrite(t,sizeof(*t),1,file);
fclose(file);
file = fopen("jrn","r+");
......@@ -240,17 +128,17 @@ CycleJournal::CycleJournal()
}
}
CycleJournal::CycleJournal(const char* name, int sz, int seek)
CycleStorage::CycleStorage(const char* name, int sz, int seek)
{
CycleJournalElem *jrn = new CycleJournalElem();
CycleStorageElem *jrn = new CycleStorageElem();
file = fopen(name, "r+");
size=sz/sizeof(CycleJournalElem);
size=sz/sizeof(CycleStorageElem);
int l=-1,r=size,mid;
iter=0;
if(file==NULL)
{
file = fopen(name,"w");
CycleJournalElem *t = new CycleJournalElem();
CycleStorageElem *t = new CycleStorageElem();
for(int i=0;i<size;i++) fwrite(t,sizeof(*t),1,file);
fclose(file);
file = fopen(name,"r+");
......@@ -340,14 +228,14 @@ CycleJournal::CycleJournal(const char* name, int sz, int seek)
}
}
CycleJournal::~CycleJournal()
CycleStorage::~CycleStorage()
{
fclose(file);
}
int CycleJournal::AddRow(char* str)
int CycleStorage::AddRow(char* str)
{
CycleJournalElem *jrn = new CycleJournalElem();
CycleStorageElem *jrn = new CycleStorageElem();
int i;
if(file!=NULL)
{
......@@ -413,9 +301,9 @@ int CycleJournal::AddRow(char* str)
return 1;
}
int CycleJournal::DelRow(int row)
int CycleStorage::DelRow(int row)
{
CycleJournalElem *jrn = new CycleJournalElem();
CycleStorageElem *jrn = new CycleStorageElem();
int i=(head+row)%size,j;
if( row >= size ) return 1;
if(file!=NULL)
......@@ -439,9 +327,9 @@ int CycleJournal::DelRow(int row)
return 1;
}
int CycleJournal::DelAllRows()
int CycleStorage::DelAllRows()
{
CycleJournalElem *jrn = new CycleJournalElem();
CycleStorageElem *jrn = new CycleStorageElem();
int i;
if(file!=NULL)
{
......@@ -472,9 +360,9 @@ int CycleJournal::DelAllRows()
return 1;
}
int CycleJournal::ViewRows(int beg, int num)
int CycleStorage::ViewRows(int beg, int num)
{
CycleJournalElem *jrn = new CycleJournalElem();
CycleStorageElem *jrn = new CycleStorageElem();
int i,j=(head+beg)%size,n=num;
if(num==0) n=size;
if(num>size) n=size;
......
......@@ -10,7 +10,8 @@ libVarious_la_SOURCES = DebugStream.cc Debug.cc UniXML.cc MessageType.cc Config
NCRestorer.cc NCRestorer_XML.cc \
ISRestorer.cc ISRestorer_XML.cc \
RunLock.cc Mutex.cc SViewer.cc SMonitor.cc LT_Object.cc \
MessageInterface_XML.cc MessageInterface_idXML.cc WDTInterface.cc
MessageInterface_XML.cc MessageInterface_idXML.cc WDTInterface.cc \
CycleStorage.cc TableStorage.cc
include $(top_builddir)/conf/setting.mk
......
......@@ -65,7 +65,8 @@ am_libVarious_la_OBJECTS = libVarious_la-DebugStream.lo \
libVarious_la-SMonitor.lo libVarious_la-LT_Object.lo \
libVarious_la-MessageInterface_XML.lo \
libVarious_la-MessageInterface_idXML.lo \
libVarious_la-WDTInterface.lo
libVarious_la-WDTInterface.lo libVarious_la-CycleStorage.lo \
libVarious_la-TableStorage.lo
libVarious_la_OBJECTS = $(am_libVarious_la_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
......@@ -224,7 +225,8 @@ libVarious_la_SOURCES = DebugStream.cc Debug.cc UniXML.cc MessageType.cc Configu
NCRestorer.cc NCRestorer_XML.cc \
ISRestorer.cc ISRestorer_XML.cc \
RunLock.cc Mutex.cc SViewer.cc SMonitor.cc LT_Object.cc \
MessageInterface_XML.cc MessageInterface_idXML.cc WDTInterface.cc
MessageInterface_XML.cc MessageInterface_idXML.cc WDTInterface.cc \
CycleStorage.cc TableStorage.cc
all: all-am
......@@ -279,6 +281,7 @@ distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVarious_la-Configuration.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVarious_la-CycleStorage.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVarious_la-Debug.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVarious_la-DebugStream.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVarious_la-ISRestorer.Plo@am__quote@
......@@ -295,6 +298,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVarious_la-SMonitor.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVarious_la-SViewer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVarious_la-SystemGuard.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVarious_la-TableStorage.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVarious_la-TextIndex.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVarious_la-UniXML.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libVarious_la-WDTInterface.Plo@am__quote@
......@@ -460,6 +464,20 @@ libVarious_la-WDTInterface.lo: WDTInterface.cc
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVarious_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVarious_la-WDTInterface.lo `test -f 'WDTInterface.cc' || echo '$(srcdir)/'`WDTInterface.cc
libVarious_la-CycleStorage.lo: CycleStorage.cc
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVarious_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVarious_la-CycleStorage.lo -MD -MP -MF $(DEPDIR)/libVarious_la-CycleStorage.Tpo -c -o libVarious_la-CycleStorage.lo `test -f 'CycleStorage.cc' || echo '$(srcdir)/'`CycleStorage.cc
@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libVarious_la-CycleStorage.Tpo $(DEPDIR)/libVarious_la-CycleStorage.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='CycleStorage.cc' object='libVarious_la-CycleStorage.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVarious_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVarious_la-CycleStorage.lo `test -f 'CycleStorage.cc' || echo '$(srcdir)/'`CycleStorage.cc
libVarious_la-TableStorage.lo: TableStorage.cc
@am__fastdepCXX_TRUE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVarious_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT libVarious_la-TableStorage.lo -MD -MP -MF $(DEPDIR)/libVarious_la-TableStorage.Tpo -c -o libVarious_la-TableStorage.lo `test -f 'TableStorage.cc' || echo '$(srcdir)/'`TableStorage.cc
@am__fastdepCXX_TRUE@ $(am__mv) $(DEPDIR)/libVarious_la-TableStorage.Tpo $(DEPDIR)/libVarious_la-TableStorage.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='TableStorage.cc' object='libVarious_la-TableStorage.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libVarious_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o libVarious_la-TableStorage.lo `test -f 'TableStorage.cc' || echo '$(srcdir)/'`TableStorage.cc
mostlyclean-libtool:
-rm -f *.lo
......
/* This file is part of the UniSet project
* Copyright (c) 2009 Free Software Foundation, Inc.
* Copyright (c) 2009 Ivan Donchevskiy
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
// --------------------------------------------------------------------------
/*! \file
* \author Ivan Donchevskiy
* \date $Date: 2009/07/14 16:59:00 $
* \version $Id: Jrn.h,v 1.0 2009/07/14 16:59:00 vpashka Exp $
*/
// --------------------------------------------------------------------------
#include <stdio.h>
#include <string.h>
#include "Storages.h"
TableStorage::TableStorage()
{
file = fopen("tbl", "r+");
if(file==NULL)
{
file = fopen("tbl","w");
TableStorageElem *t = new TableStorageElem();
for(int i=0;i<100;i++) fwrite(t,sizeof(*t),1,file);
fclose(file);
file = fopen("tbl","r+");
}
size=100;
seekpos=0;
}
TableStorage::TableStorage(const char* name, int sz, int seek)
{
file = fopen(name, "r+");
size=sz/sizeof(TableStorageElem);
if(file==NULL)
{
file = fopen(name,"w");
TableStorageElem *t = new TableStorageElem();
for(int i=0;i<size;i++) fwrite(t,sizeof(*t),1,file);
fclose(file);
file = fopen(name,"r+");
seekpos=0;
}
else seekpos=seek;
}
TableStorage::~TableStorage()
{
fclose(file);
}
int TableStorage::AddRow(char* key, char* value)
{
TableStorageElem *tbl = new TableStorageElem();
int i;
if(file!=NULL)
{
fseek(file,seekpos,0);
for(i=0;i<size;i++)
{
fread(tbl,sizeof(*tbl),1,file);
if(!strcmp(tbl->key,key))
{
strcpy(tbl->value,value);
fseek(file,seekpos+i*sizeof(*tbl),0);
fwrite(tbl,sizeof(*tbl),1,file);
return 0;
}
}
fseek(file,seekpos,0);
for(i=0;i<size;i++)
{
fread(tbl,sizeof(*tbl),1,file);
if(*(tbl->key)==0)
{
strcpy(tbl->key,key);
strcpy(tbl->value,value);
fseek(file,seekpos+i*sizeof(*tbl),0);
fwrite(tbl,sizeof(*tbl),1,file);
return 0;
}
}
}
return 1;
}
int TableStorage::DelRow(char* key)
{
TableStorageElem *tbl = new TableStorageElem();
int i;
if(file!=NULL)
{
fseek(file,seekpos,0);
for(i=0;i<size;i++)
{
fread(tbl,(key_size+val_size),1,file);
if(!strcmp(tbl->key,key))
{
tbl->key[0]=0;
fseek(file,seekpos+i*(key_size+val_size),0);
fwrite(tbl,(key_size+val_size),1,file);
return 0;
}
}
}
return 1;
}
char* TableStorage::FindKeyValue(char* key, char* val)
{
TableStorageElem *tbl = new TableStorageElem();
int i;
if(file!=NULL)
{
fseek(file,seekpos,0);
for(i=0;i<size;i++)
{
fread(tbl,(key_size+val_size),1,file);
if(!strcmp(tbl->key,key))
{
strcpy(val,tbl->value);
return val;
}
}
}
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment