Пример #1
0
int messages_init(void)
{
	session_connection = dbus_bus_get(DBUS_BUS_SESSION, NULL);
	if (session_connection == NULL) {
		error("Unable to connect to the session bus");
		return -1;
	}

	create_folder_tree();

	return 0;
}
Пример #2
0
static int create_folder_tree (NODE* parent, char* path)
{  
    DIR *dp = NULL;  
    struct dirent *entry = NULL;  
    struct stat statbuf;  

    LOG ("enter new path = %s\n", path);
    if ((dp = opendir(path)) == NULL) {  
        LOG ("Can`t open directory %s\n", path);  
        return ;  
    }  

    NODE* entry_node = create_node (path);
    entry_node->type = D;
    if (parent != NULL)
    {
        entry_node->level = parent->level + 1;
        entry_node->parent = parent;
        append_child (parent, entry_node);
    }
    else
        root_node = entry_node;

    chdir(path);  

    while ((entry = readdir(dp)) != NULL) 
    {
        lstat(entry->d_name, &statbuf);  
        if (S_ISDIR(statbuf.st_mode)) 
        {
            if (strcmp(entry->d_name, ".") == 0 ||   
                    strcmp(entry->d_name, "..") == 0 )    
                continue;     
            LOG ("dir = %s\n", entry->d_name);

            create_folder_tree (entry_node, entry->d_name);
        } 
        else  
        {
            NODE* entry_child_node = create_node (entry->d_name);
            entry_child_node->level = entry_node->level + 1;
            entry_child_node->parent = entry_node;
            entry_child_node->type = F;
            append_child (entry_node, entry_child_node);
            LOG ("file = %s\n", entry->d_name);
        }
    }  
    LOG ("Leaving path %s\n", path);
    chdir("..");  
    closedir(dp);     
}  
Пример #3
0
int create_tree (char* path)
{
    create_folder_tree (NULL, path);
    dump_node (root_node);
    free_tree (root_node);
}
Пример #4
0
int messages_init(void)
{
	create_folder_tree();

	return 0;
}