Skip to content

Commit

Permalink
Changed the name of file_id to identifier.
Browse files Browse the repository at this point in the history
  • Loading branch information
ax-6 committed Aug 3, 2024
1 parent 87fe5b0 commit 882b405
Show file tree
Hide file tree
Showing 15 changed files with 211 additions and 211 deletions.
4 changes: 2 additions & 2 deletions aqvm/base/file/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ if (WIN32)
add_subdirectory(windows)
endif()

add_subdirectory(file_id)
add_subdirectory(identifier)

add_library(AqvmBaseFile STATIC ${SOURCES})

if (WIN32)
target_link_libraries(AqvmBaseFile PRIVATE AqvmBaseFileWindows)
endif()

target_link_libraries(AqvmBaseFile PRIVATE AqvmBaseFileFileId)
target_link_libraries(AqvmBaseFile PRIVATE AqvmBaseFileIdentifier)
57 changes: 0 additions & 57 deletions aqvm/base/file/file_id/file_id.c

This file was deleted.

29 changes: 0 additions & 29 deletions aqvm/base/file/file_id/file_id.h

This file was deleted.

47 changes: 0 additions & 47 deletions aqvm/base/file/file_id/unix/file_id.c

This file was deleted.

28 changes: 0 additions & 28 deletions aqvm/base/file/file_id/unix/file_id.h

This file was deleted.

27 changes: 0 additions & 27 deletions aqvm/base/file/file_id/windows/file_id.h

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@ cmake_minimum_required(VERSION 3.10)

include_directories(${PROJECT_SOURCE_DIR})

set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/file_id.c)
set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/identifier.c)

if(UNIX)
add_subdirectory(unix)
elseif (WIN32)
add_subdirectory(windows)
endif()

add_library(AqvmBaseFileFileId STATIC ${SOURCES})
add_library(AqvmBaseFileIdentifier STATIC ${SOURCES})

if(unix)
target_link_libraries(AqvmBaseFileFileId PRIVATE AqvmBaseFileFileIdUnix)
target_link_libraries(AqvmBaseFileIdentifier PRIVATE AqvmBaseFileIdentifierUnix)
elseif (WIN32)
target_link_libraries(AqvmBaseFileFileId PRIVATE AqvmBaseFileFileIdWindows)
target_link_libraries(AqvmBaseFileIdentifier PRIVATE AqvmBaseFileIdentifierWindows)
endif()
57 changes: 57 additions & 0 deletions aqvm/base/file/identifier/identifier.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
// Copyright 2024 AQ author, All Rights Reserved.
// This program is licensed under the AQ License. You can find the AQ license in
// the root directory.

#include "aqvm/base/file/identifier/identifier.h"

#include <stdint.h>

#include "aqvm/base/file/file.h"

#ifdef __unix__
#include "aqvm/base/file/identifier/unix/identifier.h"
#elif _WIN32
#include "aqvm/base/file/identifier/windows/identifier.h"
#endif

int AqvmBaseFileIdentifier_GetIdentifier(const char* filename,
AqvmBaseFileIdentifier_Identifier* identifier) {
if (filename == NULL || identifier == NULL) {
// TODO
return -1;
}

#ifdef __unix__
if (AqvmBaseFileIdentifierUnix_GetIdentifier(filename, identifier) != 0) {
// TODO
return -2;
}
#elif _WIN32
if (AqvmBaseFileIdentifierWindows_GetIdentifier(filename, identifier) != 0) {
// TODO
return -3;
}
#else
// TODO
return -4;
#endif

return 0;
}

uint32_t AqvmBaseFileIdentifier_GetIdentifierHash(
const AqvmBaseFileIdentifier_Identifier* identifier) {
if (identifier == NULL) {
// TODO
return 0;
}

#ifdef __unix__
return AqvmBaseFileIdentifierUnix_GetIdentifierHash(identifier);
#elif _WIN32
return AqvmBaseFileIdentifierWindows_GetIdentifierHash(identifier);
#else
// TODO
return 0;
#endif
}
29 changes: 29 additions & 0 deletions aqvm/base/file/identifier/identifier.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// Copyright 2024 AQ author, All Rights Reserved.
// This program is licensed under the AQ License. You can find the AQ license in
// the root directory.

#ifndef AQVM_BASE_FILE_IDENTIFIER_IDENTIFIER_H_
#define AQVM_BASE_FILE_IDENTIFIER_IDENTIFIER_H_

#include <stdint.h>

#ifdef __unix__
#include "aqvm/base/file/identifier/unix/identifier.h"
#elif _WIN32
#include "aqvm/base/file/identifier/windows/identifier.h"
#endif

#ifdef __unix__
typedef AqvmBaseFileIdentifierUnix_Identifier AqvmBaseFileIdentifier_Identifier;
#elif _WIN32
typedef AqvmBaseFileIdentifierWindows_Identifier AqvmBaseFileIdentifier_Identifier;
#else
typedef void AqvmBaseFileIdentifier_Identifier;
#endif

int AqvmBaseFileIdentifier_GetIdentifier(const char* filename,
AqvmBaseFileIdentifier_Identifier* identifier);

uint32_t AqvmBaseFileIdentifier_GetIdentifierHash(const AqvmBaseFileIdentifier_Identifier* identifier);

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ cmake_minimum_required(VERSION 3.10)

include_directories(${PROJECT_SOURCE_DIR})

set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/file_id.c)
set(SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/identifier.c)

add_library(AqvmBaseFileFileIdWindows STATIC ${SOURCES})
add_library(AqvmBaseFileIdentifierUnix STATIC ${SOURCES})
47 changes: 47 additions & 0 deletions aqvm/base/file/identifier/unix/identifier.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#ifdef __unix__
// Copyright 2024 AQ author, All Rights Reserved.
// This program is licensed under the AQ License. You can find the AQ license in
// the root directory.

#include "aqvm/base/file/identifier/unix/identifier.h"

#include <sys/stat.h>
#include <sys/types.h>

#include "aqvm/base/hash/hash.h"

int AqvmBaseFileIdentifierUnix_GetIdentifier(const char* filename,
AqvmBaseFileIdentifierUnix_Identifier* identifier) {
if (filename == NULL || identifier == NULL) {
// TODO
return -1;
}

struct stat* file_info;

if (stat(filename, file_info) != 0) {
// TODO
return -2;
}

identifier->st_dev = file_info->st_dev;
identifier->st_ino = file_info->st_ino;

return 0;
}

uint32_t AqvmBaseFileIdentifierUnix_GetIdentifierHash(
const AqvmBaseFileIdentifierUnix_Identifier* identifier) {
if (identifier == NULL) {
// TODO
return 0;
}
uint32_t hash[2];

hash[0] = identifier->st_dev;
hash[1] = identifier->st_ino;

return AqvmBaseHash_HashUnsignedIntArray(hash, 2);
}

#endif
Loading

0 comments on commit 882b405

Please sign in to comment.