J'utilise "smbmount" pour monter des volumes sur un serveur au sein d'un réseau LAN. Je mets ce contenu dans un arborescence définie qui est : "/home/user/nomduserveur/nomduvolume".
Pour creer cet arborescence j'utilise mkdir.

Cependant, j'ai parfois des problèmes avec "smbmount" et mon contenu est vide alors : Est-il possible de contrôler/vérifier si le mount a été bien fait dans mon code c++?

J'utilise le code suivant avec notamment la fonction système qui execute du bash, est ce une bonne solution?

voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
{
......
// je récupère les données de mon thread
	LEAShareItem* l_parent = (LEAShareItem*)a_data;
// j(utilise wxConfig de wxWidget pour conserver des données ici mdp pour essai
	wxConfigBase* config = wxConfigBase::Get();
// je recupère ces données
	config->Write(_T("username"),l_parent->m_devicePt->m_username);
	config->Write(_T("password"),l_parent->m_devicePt->m_password);
// je définis le path du dossier destinataire				
	wxString path;
	wxString l_mountdirectory = path.Format(_T("$HOME/lacie_mount/%s/%s"),l_parent->m_devicePt->GetName().c_str(),l_parent->m_sharePt->GetName().c_str());
// je crèes le dossier destinataire en question par mkdir
        wxString  str = _CTS("mkdir -p ") + l_mountdirectory;
	system(_STC(str));
//ke montes le tout par smbmount et system  
	wxString mount;
	wxString mount2= mount.Format(_T("smbmount //%s/%s %s -o username=%s,password=%s"),l_parent->m_devicePt->GetName().c_str(),l_parent->m_sharePt->GetName().c_str(),l_mountdirectory.c_str(),l_parent->m_devicePt->m_username.c_str(),l_parent->m_devicePt->m_password.c_str());
system(_STC(mount2))<<endl;
-----------
->>> ici j'aimerais controler si le mont a bien été fais!!!!! :-)
-----------
//j' ouvre le contenu dans un browser
	wxFile file;
	file.Exists(_T("/usr/bin/konqueror"));
	if(file.Exists(_T("/usr/bin/konqueror")))
		std::system(_STC(_T("konqueror ") + l_mountdirectory));
	if(file.Exists(_T("/usr/bin/nautilus")))
		std::system(_STC(_T("nautilus ") + l_mountdirectory));
	pthread_exit (0);
}


Merci

Robux

PS : Kubuntu feisty