File: BringNetworkUpThread.cpp

package info (click to toggle)
primrose 6%2Bdfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 5,232 kB
  • ctags: 3,287
  • sloc: cpp: 27,302; php: 765; ansic: 636; objc: 272; makefile: 139; sh: 136; perl: 67
file content (59 lines) | stat: -rw-r--r-- 908 bytes parent folder | download | duplicates (5)
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include "BringNetworkUpThread.h"

#include "networkInterface.h"


#include "minorGems/util/stringUtils.h"



BringNetworkUpThread::BringNetworkUpThread( char *inURL )
        : mURL( stringDuplicate( inURL ) ),
          mNetworkCheckDone( false ),
          mResult( false ) {

    start();
    }



BringNetworkUpThread::~BringNetworkUpThread() {
    join();
    
    delete [] mURL;
    }



char BringNetworkUpThread::isNetworkCheckDone() {
    mLock.lock();
    char done = mNetworkCheckDone;
    mLock.unlock();
    
    return done;
    }



char BringNetworkUpThread::isNetworkUp() {
    mLock.lock();
    char result = mResult;
    mLock.unlock();
    
    return result;
    }



void BringNetworkUpThread::run() {
    
    char result = makeSureNetworkIsUp( mURL );
    

    mLock.lock();        
    mNetworkCheckDone = true;
    mResult = result;
    mLock.unlock();

    setFinished();
    }