ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/repos/DecentralizedMedia/MediaFolder.cpp
(Generate patch)

Comparing DecentralizedMedia/MediaFolder.cpp (file contents):
Revision 476 by douglas, 2005-06-08T13:41:10-07:00 vs.
Revision 496 by douglas, 2005-06-17T13:22:26-07:00

# Line 5 | Line 5
5   // $Id$
6  
7   #include "MediaFolder.hpp"
8 +
9 + #include <menes-dbi/resultset.hpp>
10 +
11 + MediaFolder::MediaFolder(_H<dbi::Connection>& connection, const api::Path& path) : connection(connection), path(path)
12 + {
13 +        // XXX: implement
14 + }
15 +
16 + MediaFolder::MediaFolder(_H<dbi::Connection>& connection, const api::Path& path, const api::Path& root) : connection(connection), path(path)
17 + {
18 +        _H<dbi::ResultSet> path_(connection->Parse(_B("SELECT path FROM folders WHERE path = ?"))-Execute(path.GetPath()));
19 +
20 +        if (!path_->MoveNext())
21 +                connection->Parse(_B("INSERT INTO folders (path, folder, root) VALUES (?, ?, ?)"))->Execute(path.GetPath(), path.GetParent().GetPath(), root.GetPath());
22 + }
23 +
24 + _L<MediaFile> MediaFolder::GetFiles() const
25 + {
26 +        _H<dbi::ResultSet> paths(connection->Parse(_B("SELECT path FROM files WHERE live = TRUE AND folder = ?"))->Execute(path.GetPath()));
27 +        _L<MediaFile> files;
28 +
29 +        while (paths->MoveNext())
30 +                files.InsertLast(MediaFile(connection, paths->GetString(_B("path"))));
31 +
32 +        return files;
33 + }
34 +
35 + _L<MediaFolder> MediaFolder::GetFolders() const
36 + {
37 +        _H<dbi::ResultSet> paths(connection->Parse(_B("SELECT path FROM folders WHERE live = TRUE AND folder = ?"))->Execute(path.GetPath()));
38 +        _L<MediaFolder> folders;
39 +
40 +        while (paths->MoveNext())
41 +                folders.InsertLast(MediaFolder(connection, paths->GetString(_B("path"))));
42 +        
43 +        return folders;
44 + }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines