I have a project called Category_Helper_Project.
Within this project are two relevant classes: Category_Interface and Category_File_Manager
The purpose of this project is that it can be referenced from other projects. It handles the underlying file system automatically when creating/accessing categories.
To do that, class Category_Interface accesses class Category_File_Manager. Functions in Category_File_Manager are public for this reason.
If I reference Category_Helper_Project from another Project, is it possible to make Category_File_Manager inaccessible from the other project whilst keeping it accessible from Category_Interface? Accessing Category_File_Manager` directly most likely causes problems in the tree structure.
Lastly I would like to know if making Category_File_Manager inaccessible will also make it inaccessible in unit tests, which would be quite unfortunate.
I have found some simmilar questions such as Making a function only accessible from one other function but they didnt really answer my questions.