Skip to content

Commit

Permalink
Client interface is working for directory searches...and a bunch of o…
Browse files Browse the repository at this point in the history
…ther stuff
  • Loading branch information
phi2039 committed Sep 18, 2011
1 parent 55f15e4 commit 1bb4322
Show file tree
Hide file tree
Showing 20 changed files with 620 additions and 181 deletions.
49 changes: 31 additions & 18 deletions include/libxafp.h
@@ -1,6 +1,6 @@
#pragma once
/*
* Copyright (C) 2005-2011 Team XBMC
* Copyright (C) 2011 Team XBMC
* http://www.xbmc.org
*
* This Program is free software; you can redistribute it and/or modify
Expand All @@ -23,38 +23,51 @@
#include <stddef.h>
#include <sys/types.h>

struct xafp_client_context;
typedef struct xafp_client_context xafp_client_context;
typedef struct _client_context* xafp_client_handle;

struct xafp_node_iterator;
typedef struct xafp_node_iterator xafp_node_iterator;
typedef struct _fs_node_iterator* xafp_node_iterator;

struct xafp_node;
typedef struct xafp_node xafp_node;
typedef struct _fs_node* xafp_node_handle;

typedef int xafp_file_handle;

// TODO: define common error codes

enum xafp_mount_flags
{
xafp_mount_flag_read = 0x1 << 0,
xafp_mount_flag_none = 0x0,
xafp_mount_flag_read = 0x1 << 0,
xafp_mount_flag_write = 0x1 << 1,
};

enum xafp_open_flags
{
xafp_open_flag_read = 0x1 << 0,
xafp_open_flag_write = 0x1 << 1,
};

enum xafp_node_type
{
xafp_node_file = 0x0,
xafp_node_directory = 0x1
};

// Client Interface Definition
///////////////////////////////////////////////////////
xafp_client_context* xafp_create_context(const char* pServer, int port=548, const char* pUser=NULL, const char* pPass=NULL);
xafp_client_context* xafp_create_context(const char* pServer, const char* pUser, const char* pPass);
void xafp_destroy_context(xafp_client_context* pCtx);
xafp_client_handle xafp_create_context(const char* pServer, unsigned int port=548, const char* pUser=NULL, const char* pPass=NULL);
xafp_client_handle xafp_create_context(const char* pServer, const char* pUser, const char* pPass);
void xafp_destroy_context(xafp_client_handle pCtx);

int xafp_mount(xafp_client_context* pCtx, const char* pVolumeName, xafp_mount_flags flags);
void xafp_unmount(xafp_client_context* pCtx);
int xafp_mount(xafp_client_handle hnd, const char* pVolumeName, xafp_mount_flags flags);
void xafp_unmount(xafp_client_handle hnd, const char* pVolumeName);

xafp_dir_iterator* xafp_list_dir(xafp_client_context* pCtx, const char* pPath);
xafp_node* xafp_next(xafp_node_iterator* pIter);
xafp_node_iterator xafp_get_dir_iter(xafp_client_handle hnd, const char* pPath);
xafp_node_handle xafp_next(xafp_node_iterator iter);
void xafp_free_iter(xafp_node_iterator iter);

// xafp_open_file
// xafp_read_file
// xafp_close_file
xafp_file_handle xafp_open_file(xafp_client_handle hnd, const char* pPath, xafp_open_flags flags);
int xafp_read_file(xafp_client_handle hnd, xafp_file_handle file, void* pBuf, unsigned int len);
void xafp_close_file(xafp_client_handle hnd, xafp_file_handle file);

// xafp_create_file
// xafp_create_dir
Expand Down
28 changes: 26 additions & 2 deletions libxafp.xcodeproj/project.pbxproj
Expand Up @@ -8,6 +8,7 @@

/* Begin PBXBuildFile section */
83A86039142047E5000B8F90 /* Logging.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83A86037142047E5000B8F90 /* Logging.cpp */; };
83A861B114265502000B8F90 /* Threads.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83A861B014265502000B8F90 /* Threads.cpp */; };
83D4CEA3140AAE6000C157C2 /* AFPClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D4CE9C140AAE6000C157C2 /* AFPClient.cpp */; };
83D4CEA4140AAE6000C157C2 /* DSIClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D4CE9E140AAE6000C157C2 /* DSIClient.cpp */; };
83D4CEA5140AAE6000C157C2 /* TCPClient.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 83D4CEA0140AAE6000C157C2 /* TCPClient.cpp */; };
Expand Down Expand Up @@ -41,6 +42,9 @@
83A86037142047E5000B8F90 /* Logging.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Logging.cpp; path = src/Logging.cpp; sourceTree = "<group>"; };
83A86038142047E5000B8F90 /* Logging.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Logging.h; path = src/Logging.h; sourceTree = "<group>"; };
83A8612614219B72000B8F90 /* libxafp_internal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = libxafp_internal.h; path = src/libxafp_internal.h; sourceTree = "<group>"; };
83A861AD1426549E000B8F90 /* Common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Common.h; path = src/Common.h; sourceTree = "<group>"; };
83A861AF14265502000B8F90 /* Threads.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Threads.h; path = src/Threads.h; sourceTree = "<group>"; };
83A861B014265502000B8F90 /* Threads.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Threads.cpp; path = src/Threads.cpp; sourceTree = "<group>"; };
83D4CE9C140AAE6000C157C2 /* AFPClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AFPClient.cpp; path = src/AFPClient.cpp; sourceTree = "<group>"; };
83D4CE9D140AAE6000C157C2 /* AFPClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AFPClient.h; path = src/AFPClient.h; sourceTree = "<group>"; };
83D4CE9E140AAE6000C157C2 /* DSIClient.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DSIClient.cpp; path = src/DSIClient.cpp; sourceTree = "<group>"; };
Expand Down Expand Up @@ -103,14 +107,33 @@
name = Products;
sourceTree = "<group>";
};
83A861A1142652FB000B8F90 /* Interface */ = {
isa = PBXGroup;
children = (
83A8612614219B72000B8F90 /* libxafp_internal.h */,
83D4CEA6140AAEB800C157C2 /* libxafp.cpp */,
);
name = Interface;
sourceTree = "<group>";
};
83A861AE142654E0000B8F90 /* Threading */ = {
isa = PBXGroup;
children = (
83A861AF14265502000B8F90 /* Threads.h */,
83A861B014265502000B8F90 /* Threads.cpp */,
);
name = Threading;
sourceTree = "<group>";
};
83D4CE8D140AAD0B00C157C2 /* src */ = {
isa = PBXGroup;
children = (
83A861A1142652FB000B8F90 /* Interface */,
83D4D47A1415594300C157C2 /* Common */,
83D4CEC1140AAFFB00C157C2 /* AFP */,
83D4CEC0140AAFF500C157C2 /* DSI */,
83D4CEBF140AAFED00C157C2 /* TCP */,
83D4CEA6140AAEB800C157C2 /* libxafp.cpp */,
83A861AE142654E0000B8F90 /* Threading */,
);
name = src;
sourceTree = "<group>";
Expand Down Expand Up @@ -164,11 +187,11 @@
83D4D47A1415594300C157C2 /* Common */ = {
isa = PBXGroup;
children = (
83A861AD1426549E000B8F90 /* Common.h */,
83A86037142047E5000B8F90 /* Logging.cpp */,
83A86038142047E5000B8F90 /* Logging.h */,
83D4CEA2140AAE6000C157C2 /* Utils.h */,
83D4D47B1415596A00C157C2 /* Utils.cpp */,
83A8612614219B72000B8F90 /* libxafp_internal.h */,
);
name = Common;
sourceTree = "<group>";
Expand Down Expand Up @@ -277,6 +300,7 @@
83D4CEA7140AAEB800C157C2 /* libxafp.cpp in Sources */,
83D4D47C1415596A00C157C2 /* Utils.cpp in Sources */,
83A86039142047E5000B8F90 /* Logging.cpp in Sources */,
83A861B114265502000B8F90 /* Threads.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Expand Down

0 comments on commit 1bb4322

Please sign in to comment.