libsaria: Begin moving LibraryPath class to subdirectory

I think it'll be easier to work with if it is self-contained in a
subdirectory.  Otherwise it's too mixed in with the library code to be
maintainable.
This commit is contained in:
Bryan Schumaker 2011-12-29 20:23:16 -05:00
parent 8b78203fc7
commit 9da577daa0
4 changed files with 66 additions and 49 deletions

View File

@ -3,34 +3,9 @@
*/
#include <libsaria/library.h>
#include <libsaria/index.h>
#include "path/path.h"
#include "library.h"
void LibraryPath::load_file(InFile &in, string dir)
{
unsigned int size;
path = dir;
in >> size;
println("Library path dir: " + path);
println("Library path size: %d", size);
for (unsigned int i = 0; i < size; i++) {
file_list.push_back(libsaria::Track(in));
libsaria::index::add_track(file_list.back());
libsaria::library::list_track(file_list.back());
}
}
void LibraryPath::save(OutFile &out)
{
list<libsaria::Track>::iterator it;
out << path << file_list.size() << "\n";
for (it = file_list.begin(); it != file_list.end(); it++)
it->save(out);
}
static void do_load()
{
unsigned int size;

View File

@ -10,31 +10,9 @@ using namespace std;
#include <libsaria/model.h>
#include <libsaria/path.h>
#include "path/path.h"
#include "list/list.h"
class LibraryPath
{
private:
string path;
list<libsaria::Track> file_list;
list<libsaria::Track>::iterator find_id(sid_t &);
public:
LibraryPath();
LibraryPath(string);
~LibraryPath();
void load_file(InFile &, string);
list<libsaria::Track> *get_list();
string get_path();
void get_info(void (*)(struct libsaria::library::PathInfo &));
void insert_track(sid_t &inode, libsaria::Track &);
void save(OutFile &);
void update();
unsigned int size();
};
class LoadTask : public IdleTask
{
public:

View File

@ -0,0 +1,30 @@
#include <libsaria/index.h>
#include "../library.h"
#include "path.h"
void LibraryPath::load_file(InFile &in, string dir)
{
unsigned int size;
path = dir;
in >> size;
println("Library path dir: " + path);
println("Library path size: %d", size);
for (unsigned int i = 0; i < size; i++) {
file_list.push_back(libsaria::Track(in));
libsaria::index::add_track(file_list.back());
libsaria::library::list_track(file_list.back());
}
}
void LibraryPath::save(OutFile &out)
{
list<libsaria::Track>::iterator it;
out << path << file_list.size() << "\n";
for (it = file_list.begin(); it != file_list.end(); it++)
it->save(out);
}

View File

@ -0,0 +1,34 @@
#ifndef LIBSARIA_LIBRARY_PATH_H
#define LIBSARIA_LIBRARY_PATH_H
#include <libsaria/library.h>
#include <libsaria/track.h>
#include <list>
#include <string>
using namespace std;
class LibraryPath
{
private:
string path;
list<libsaria::Track> file_list;
list<libsaria::Track>::iterator find_id(sid_t &);
public:
LibraryPath();
LibraryPath(string);
~LibraryPath();
void load_file(InFile &, string);
list<libsaria::Track> *get_list();
string get_path();
void get_info(void (*)(struct libsaria::library::PathInfo &));
void insert_track(sid_t &inode, libsaria::Track &);
void save(OutFile &);
void update();
unsigned int size();
};
#endif /* LIBSARIA_LIBRARY_PATH_H */