PageRenderTime 72ms CodeModel.GetById 41ms app.highlight 2ms RepoModel.GetById 28ms app.codeStats 0ms

/src/ftk_path.h

http://ftk.googlecode.com/
C++ Header | 56 lines | 20 code | 7 blank | 29 comment | 0 complexity | b3164f68604d1416fa1ff8d8721eb31d MD5 | raw file
 1/*
 2 * File: ftk_path.h
 3 * Author:  Li XianJing <xianjimli@hotmail.com>
 4 * Brief:   path.
 5 *
 6 * Copyright (c) 2009 - 2010  Li XianJing <xianjimli@hotmail.com>
 7 *
 8 * Licensed under the Academic Free License version 2.1
 9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
23 */
24
25/*
26 * History:
27 * ================================================================
28 * 2010-08-01 Li XianJing <xianjimli@hotmail.com> created
29 *
30 */
31
32#ifndef FTK_PATH_H
33#define FTK_PATH_H
34
35#include "ftk_typedef.h"
36
37FTK_BEGIN_DECLS
38struct _FtkPath;
39typedef struct _FtkPath FtkPath;
40
41FtkPath* ftk_path_create(const char* path);
42size_t ftk_path_get_levels(FtkPath* thiz);
43Ret ftk_path_set_path(FtkPath* thiz, const char* path);
44Ret ftk_path_up(FtkPath* thiz);
45Ret ftk_path_down(FtkPath* thiz);
46Ret ftk_path_root(FtkPath* thiz);
47int ftk_path_is_leaf(FtkPath* thiz);
48int ftk_path_current_level(FtkPath* thiz);
49const char* ftk_path_full(FtkPath* thiz);
50const char* ftk_path_current(FtkPath* thiz);
51const char* ftk_path_get_sub(FtkPath* thiz, size_t level);
52void ftk_path_destroy(FtkPath* thiz);
53
54FTK_END_DECLS
55
56#endif/*FTK_PATH_H*/