< prev index next >

modules/jdk.packager/src/main/native/library/common/LinuxPlatform.cpp

Print this page




1099 typedef Status (*XInitThreadsFuncPtr)();
1100 typedef Display* (*XOpenDisplayFuncPtr)(char *display_name);
1101 
1102 typedef Atom (*XInternAtomFuncPtr)(Display *display, char *atom_name, Bool only_if_exists);
1103 
1104 typedef Window (*XDefaultRootWindowFuncPtr)(Display *display);
1105 
1106 typedef int (*XCloseDisplayFuncPtr)(Display *display);
1107 }
1108 
1109 ProcessReactivator::ProcessReactivator(pid_t pid): _pid(pid) {
1110     const std::string libname = "libX11.so";
1111     if(!libX11.Load(libname)) {
1112         throw std::runtime_error("Failed to load \"" + libname + "\" library");
1113     }
1114 
1115     DllFunction<XInitThreadsFuncPtr> XInitThreadsFunc(libX11, "XInitThreads");
1116 
1117     XInitThreadsFunc();
1118 
1119     DllFunction<XOpenDisplayFuncPtr> XOpenDisplayFunc(libX11, "XOpenDisplay33");
1120 
1121     _display = XOpenDisplayFunc(NULL);
1122 
1123     DllFunction<XInternAtomFuncPtr> XInternAtomFunc(libX11, "XInternAtom");
1124 
1125     _atomPid = XInternAtomFunc(_display, "_NET_WM_PID", True);
1126 
1127     if (_atomPid == None) {
1128         return;
1129     }
1130 
1131     DllFunction<XDefaultRootWindowFuncPtr> XDefaultRootWindowFunc(libX11, "XDefaultRootWindow");
1132 
1133     searchWindowHelper(XDefaultRootWindowFunc(_display));
1134 
1135     reactivateProcess();
1136 
1137     DllFunction<XCloseDisplayFuncPtr> XCloseDisplayFunc(libX11, "XCloseDisplay");
1138 
1139     XCloseDisplayFunc(_display);




1099 typedef Status (*XInitThreadsFuncPtr)();
1100 typedef Display* (*XOpenDisplayFuncPtr)(char *display_name);
1101 
1102 typedef Atom (*XInternAtomFuncPtr)(Display *display, char *atom_name, Bool only_if_exists);
1103 
1104 typedef Window (*XDefaultRootWindowFuncPtr)(Display *display);
1105 
1106 typedef int (*XCloseDisplayFuncPtr)(Display *display);
1107 }
1108 
1109 ProcessReactivator::ProcessReactivator(pid_t pid): _pid(pid) {
1110     const std::string libname = "libX11.so";
1111     if(!libX11.Load(libname)) {
1112         throw std::runtime_error("Failed to load \"" + libname + "\" library");
1113     }
1114 
1115     DllFunction<XInitThreadsFuncPtr> XInitThreadsFunc(libX11, "XInitThreads");
1116 
1117     XInitThreadsFunc();
1118 
1119     DllFunction<XOpenDisplayFuncPtr> XOpenDisplayFunc(libX11, "XOpenDisplay");
1120 
1121     _display = XOpenDisplayFunc(NULL);
1122 
1123     DllFunction<XInternAtomFuncPtr> XInternAtomFunc(libX11, "XInternAtom");
1124 
1125     _atomPid = XInternAtomFunc(_display, "_NET_WM_PID", True);
1126 
1127     if (_atomPid == None) {
1128         return;
1129     }
1130 
1131     DllFunction<XDefaultRootWindowFuncPtr> XDefaultRootWindowFunc(libX11, "XDefaultRootWindow");
1132 
1133     searchWindowHelper(XDefaultRootWindowFunc(_display));
1134 
1135     reactivateProcess();
1136 
1137     DllFunction<XCloseDisplayFuncPtr> XCloseDisplayFunc(libX11, "XCloseDisplay");
1138 
1139     XCloseDisplayFunc(_display);


< prev index next >